APP效能測試--記憶體測試
阿新 • • 發佈:2019-01-09
一、記憶體佔用
對於智慧手機而言,記憶體大小是固定的;因此,如果單個app的記憶體佔用越小,手機上可以安裝執行的app就越多;或者說app的記憶體佔用越小,在手機上執行就會越流暢。所以說,記憶體佔用的大小,也是考量app效能的一個重要指標。
二、測試項
- 空負荷————app已經在後臺執行,但是使用者沒有使用;
back靜置後臺
home靜置後臺
放在應用主頁面
- 中負荷————app在前臺執行,使用者進行了少量操作;
- 滿負荷————使用者持續頻繁大量操作,app接近飽和狀態執行。
- 應用記憶體峰值情況
- 應用記憶體洩露情況
- 應用是否常駐記憶體
- 壓力測試後的記憶體使用情況
然而,除了第一種情況,其它兩種的主觀性很強,不是很容易區分。正常產品測試的時候,只要驗證後臺執行(5~10分鐘為宜)和使用者持續頻繁大量操作(10~15分鐘為宜)這兩種情況下就可以了。
三、記憶體測試方案
【1】 手工測試---adb命令測試記憶體
adb shell dumpsys meminfo packagename -d(檢視當前應用的變化)
(adb shell dumpsys meminfo |grep packagename >/address/mem.txt )
- Native/Dalvik 的 Heap 資訊
具體在上面的第一行和第二行,它分別給出的是JNI層和Java層的記憶體分配情況,如果發現這個值一直增長,則代表程式可能出現了記憶體洩漏。
home到後臺一段時間,比如10分鐘,然後看數值是否有變化
- Total 的 PSS 資訊
這個值就是你的應用真正佔據的記憶體大小,通過這個資訊,你可以輕鬆判別手機中哪些程式佔記憶體比較大了。
- Objects的兩個資訊
在進入一個介面之前檢視一遍Activity和View的數量,在退出這個介面之後再檢視一遍Activity和View的數量,對比進入前和進入後Activity和View數量的變化情況,如果有差異,則說明存在記憶體洩露(在使用命令檢視Activity和View的數量之前,記得手動觸發GC)
【2】自動化測試---Python指令碼
原理:同樣使用adb命令來查詢記憶體消耗,通過monkey自動操作,結合Python查詢結果。