Mat監測內存泄露

 

                本文來自http://blog.csdn.net/liuxian13183/ ,引用必須註明出處!

 

Mat最早在Elicpse,到今未在AndroidStudio上,找到類似的功能,最近在排查內存泄露問題,因此又拿出來用了。

步驟如下:

1、將應用進程殺掉,以免出現數據冗餘,影響出現實驗結果

2、將應用打開,到相關要實驗的頁面,模擬相關功能,測試相關流程,再關閉頁面,重複幾次。

3、獲取類GC數據的hprof文件,

adb shell am dumpheap com.yp.app /data/local/tmp/live.hprof
hprof-conv C:\Users\fred\Desktop\app_now.hprof ~ C:\Users\fred\Desktop\live_new.hprof

4、打開Eclispe,安裝MAT,下載地址:http://download.eclipse.org/mat/1.10.0/update-site/

5、使用Eclipse,打開此hprof文件,點此樹形按鈕,獲得此時的內存樹

6、按此步驟,查找GCRoots,查出“真兇”。建議多放置一段時間,內存並不是回收那麼快的。

 

7、根據引用鏈,找到觸發內存泄露的GCRoots。

8、根據代碼規範,去優化掉相關代碼。確認優化完畢之後,再重複此流程,直到此泄露不再出現,即宣告大功完成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章