日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

APP内存占用测试

發布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 APP内存占用测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

APP內存占用測試

1 主要測試點

空閑狀態

切換至后臺或者啟動后不做任何操作,消耗內存最少。

中強度狀態?

時間偏長的操作應用。

高強度狀態

高強度使用應用,可以跑 monkey 來測試(通常用來測試內存泄漏)。

內存泄漏?
指使用 malloc 或 new 申請了一塊內存,但是沒有通過 free 或 delete 將內 存釋放,導致這塊內存一直處于占用狀態。?

2 測試方法

使用 adb 命令?
adb shell dumpsys meminfo welab.bank.mobile.stage
?
主要指標?

Native heap alloc、Dalvik heap alloc?
若這兩個值一直增長,說明可能出現內存泄漏

PSS,

App 實際占用的內存大小:

下圖可以看出內存總共占用329581,也就是329M,說明該APP占用內存很大

多次中這條adb命令,對比以下參數:
Native heap alloc、Dalvik heap alloc 、總內存

主要關注

退出某個頁面后,內存是否有回落。?
如果沒有及時回落,且程序自動 GC(Garbage Collection,垃圾回收)或 者手動 GC,那便可確認有問題。?

進行某個操作后,內存是否增長過快。
如果增長過快,也有可能存在風險,需重復操作確認。

android程序內存被分為2部分:native和dalvik
dalvik就是我們平常說的java堆,
我們創建的對象是在這里面分配的
查看pss total和heap size(27716KB)
不能超過最大限制(使用下面的命令查看)

adb shell
getprop | grep heapgrowthlimit


查看單個應用程序最大內存限制(meminfo里面的dalvik heap size的最大值27716KB,
如果超出了192M那就很可能會發生OOM)

?

總結:
每次gc后,pss total沒有明顯回落,就有可能存在內存泄漏,但仍需長時間觀察。
dalvik heap size超過heapgrowthlimit會發生OOM,
但如果Manifest中的application標簽中聲明android:largeHeap=True,
則dalvik heap達到heapgrowthlimit限制的時候不會出現OOM,
需要達到heap size的時候才會出現OOM

adb shell
getprop | grep dalvik.vm.heapsize ?單個java虛擬機最大的內存限制

?

再次總結:
dalvik.vm.heapstartsize----------初始分配的內存大小
dalvik.vm.heapgrowthlimit------應用的最大內存限制
dalvik.vm.heapsize--------------java虛擬機最大內存限制

總結

以上是生活随笔為你收集整理的APP内存占用测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。