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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

APP内存占用测试

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

APP內(nèi)存占用測試

1 主要測試點(diǎn)

空閑狀態(tài)

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

中強(qiáng)度狀態(tài)?

時間偏長的操作應(yīng)用。

高強(qiáng)度狀態(tài)

高強(qiáng)度使用應(yīng)用,可以跑 monkey 來測試(通常用來測試內(nèi)存泄漏)。

內(nèi)存泄漏?
指使用 malloc 或 new 申請了一塊內(nèi)存,但是沒有通過 free 或 delete 將內(nèi) 存釋放,導(dǎo)致這塊內(nèi)存一直處于占用狀態(tài)。?

2 測試方法

使用 adb 命令?
adb shell dumpsys meminfo welab.bank.mobile.stage
?
主要指標(biāo)?

Native heap alloc、Dalvik heap alloc?
若這兩個值一直增長,說明可能出現(xiàn)內(nèi)存泄漏

PSS,

App 實(shí)際占用的內(nèi)存大小:

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

多次中這條adb命令,對比以下參數(shù):
Native heap alloc、Dalvik heap alloc 、總內(nèi)存

主要關(guān)注

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

進(jìn)行某個操作后,內(nèi)存是否增長過快。
如果增長過快,也有可能存在風(fēng)險,需重復(fù)操作確認(rèn)。

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

adb shell
getprop | grep heapgrowthlimit


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

?

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

adb shell
getprop | grep dalvik.vm.heapsize ?單個java虛擬機(jī)最大的內(nèi)存限制

?

再次總結(jié):
dalvik.vm.heapstartsize----------初始分配的內(nèi)存大小
dalvik.vm.heapgrowthlimit------應(yīng)用的最大內(nèi)存限制
dalvik.vm.heapsize--------------java虛擬機(jī)最大內(nèi)存限制

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。