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

歡迎訪問 生活随笔!

生活随笔

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

综合教程

DDMS工具检测内存泄露

發(fā)布時間:2023/12/13 综合教程 46 生活家
生活随笔 收集整理的這篇文章主要介紹了 DDMS工具检测内存泄露 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

DDMS工具檢測內(nèi)存泄露
DDMS是Android開發(fā)包中自帶工具,可以測試app性能,用于發(fā)現(xiàn)內(nèi)存問題。

1、環(huán)境搭建

     準(zhǔn)備環(huán)境,網(wǎng)上隨便都能找到,不再敘述了;

2、工具啟動

虛擬機(jī)測試:

     確保測試環(huán)境中已經(jīng)配置了Android虛擬機(jī),cmd下輸入如下命令啟動:

     a、首先通過android list avd 查看建好的虛擬設(shè)備;

     b、通過命令emulator @{name}啟動虛擬機(jī);

     c、虛擬機(jī)啟動成功后輸入ddms啟動測試工具;

聯(lián)機(jī)測試:

     如果不使用虛擬機(jī)測試的話,可以聯(lián)機(jī)進(jìn)行測試,需要下載Android驅(qū)動,或者使用豌豆莢也可以,安裝程序也比較方便,連接前需要將手機(jī)設(shè)置成USB調(diào)試模式,cmd下可以使用adb shell命令測試連接是否成功。

     連接成功后,輸入ddms可以成功啟動工具。

     工具左側(cè)會顯示已經(jīng)運(yùn)行的進(jìn)程;如果想查看某個進(jìn)程的運(yùn)行l(wèi)og,可以點(diǎn)擊左下角綠色加號Add a new logcat filter,輸入filter name和PID。

     如果聯(lián)機(jī)測試,你可能會發(fā)現(xiàn)手機(jī)里已經(jīng)運(yùn)行的被測程序,但是DDMS左側(cè)的列表中沒有顯示被測程序的進(jìn)程,那么別猶豫了,不是工具的問題,也不是手機(jī)配置的問題,直接讓開發(fā)人員在APK中的AndroidManifest.xml文件中加上android:debuggable="true">重新打包。

3、測試應(yīng)用

     左側(cè)列表選中被測進(jìn)程,點(diǎn)擊左上角Show heap updates,點(diǎn)擊VM heap視圖中Cause GC按鈕,手動執(zhí)行內(nèi)存回收操作,會顯示當(dāng)前進(jìn)程的內(nèi)存使用詳細(xì)情況。

     其中data object是數(shù)據(jù)對象,data object total size是進(jìn)程中所有數(shù)據(jù)對象的內(nèi)存總量,這個值大小決定了是否有內(nèi)存泄露。

     在手機(jī)上不斷操作被測應(yīng)用,觀察data object的total size的值,total size通常會穩(wěn)定在一個范圍,不斷操作應(yīng)用的過程中,系統(tǒng)會不斷生成數(shù)據(jù)對象,在不斷GC過程中,這些對象會被回收,total size會回落到某個特定范圍。

     如果應(yīng)用存在內(nèi)存泄露情況,data object的total size在每次GC后的值都會比前一次GC后的值要大,反復(fù)測試過程中,total size會成明顯上升的趨勢。由此就可以確定被測應(yīng)用有內(nèi)存泄露跡象。

4、MAT問題定位

     發(fā)現(xiàn)內(nèi)存問題之后,需要將heap內(nèi)存信息導(dǎo)出來進(jìn)行問題定位;點(diǎn)擊DDMS左上角Dump HPROF file,選擇位置保存;

     導(dǎo)出來的文件需要進(jìn)行格式轉(zhuǎn)換才能使用MAT打開進(jìn)行分析,cmd命令運(yùn)行:

./hprof-conv a.hprof b.hprof

a.hprof為到出文件的名成,b.hprof為轉(zhuǎn)換后的名稱。

使用MAT打開b.hprof進(jìn)行分析,具體分析方法下篇文章介紹

總結(jié)

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

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