adb 性能測試(內存)

內存測試:shell

1.使用數據線將手機與電腦鏈接;ide

 

2.手機打開待測APP,即打開進程;測試

 

3.打開cmd命令,獲取設備列表:輸入adb devices;spa

 

4.進入該設備的shell環境,輸入:adb -s  設備ID shell(多個),單個設備的話就直接輸入:adb shell;操作系統

 

5.查找進程;進程

  1)輸入ps(模糊查找),尋找對應待測應用的包名,並記錄其pid內存

  2)若知道明確的包名,可直接準確查找 ps | grep  包名get

 

6.查詢內存信息,可經過兩種方式獲取cmd

  1)經過 dumpsys meminfo  包名/pid  獲取;it

       Pss Total:實際使用的物理內存;

       Private dirty:私有駐留內存;

       Heap Size:佔用總內存(Heap堆)(擴展:進程內存空間是虛擬內存,區分於物理內存,進程沒法直接操做物理內存RAM。必要時,操做系統對其進行映射,使進程能應用到物理內存);

       Heap Alloc:分配內存;

       Heap Free:空閒內存

       native process:內存大小

       查看單個應用最大內存限制,輸入命令:getprop | grep  heapgrowthlimit

 

  2)可直接經過procrank

       手機中的sh是通過精簡過的,有些手機可能沒有procrank命令,能夠使用genymotion模擬器,或是本身安裝procrank命令。

       VSS—Virtual Set Size(虛擬耗用內存包括共享庫佔用的內存):是單個進程所有可訪問的地址空間。

       RSS—Resident Set Size(實際使用物理內存包括共享庫佔用的內存):單個進程實際佔用的內存大小,不是精確描述。

       PSS—Proportional Set Size(實際使用的物理內存,比例分配共享庫佔用的內存):對於系統中的總體內存使用是一個很好的描述。

       USS—Unique Set Size(進程獨自佔用的物理內存,不包含共享庫佔用的內存):單個進程的所有私有內存大小,即所有被該進程獨佔的內存大小。

 

通常來講內存佔用的大小有以下規律:VSS>=RSS>=PSS>=USS

USS是針對某個進程開始有可疑內存泄漏的狀況,進行檢測的最佳數字。

相關文章
相關標籤/搜索