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文件,点此树形按钮,获得此时的内存树

Mat监测内存泄露_第1张图片

6、按此步骤,查找GCRoots,查出“真凶”。建议多放置一段时间,内存并不是回收那么快的。

 

7、根据引用链,找到触发内存泄露的GCRoots。

Mat监测内存泄露_第2张图片

8、根据代码规范,去优化掉相关代码。确认优化完毕之后,再重复此流程,直到此泄露不再出现,即宣告大功完成!

你可能感兴趣的:(开发工具)