android使用mat分析内存泄漏

来源:互联网 发布:dnf几分钟网络连接中断 编辑:程序博客网 时间:2024/05/16 18:42

环境:eclipseddmsmat(内存分析工具)

 

参考文献:http://blog.csdn.net/wangchun8926/article/details/8550745

 

下载地址:http://www.eclipse.org/mat/downloads.php


使用步骤

1.运行手机端程序,进入待测试内存状态页面

2.使用eclipse ddms 获取当前内存快照,并保存1.hprof文件

 

选择应用,点击箭头按钮

3.操作应用到功能页面并返回待测试页面(不要gc)重复2操作保存2.hprof文件

4.重复3保存3.hprof文件

5.命令行将androidhprof转换成javahprof文件(使用的android sdk Tools目录下的hprof工具)

命令:D:\lwh\Software\adt-bundle-windows-x86-20130219\sdk\tools\hprof-conv.exe eBest.mobile.android3.hprof 3.hprof

 

6.运行mat.exe打开3hprof文件

 

7.在histogram点击右键打开菜单添加到对比列表中

 

8.将3个文件的histogram添加到对比列表,然后点击感叹号对比

 

9出现分析页面

 

 

分析内存泄漏

1.objects列表表示个数,shallow heap表示堆内存

2.第一列表示java的数据类

3.Regex栏输入查找自定义类

 

4.通过分析哪一个类增加过快,就可以判断为该类没有释放,导致内存溢出


 ps:使用findbug可以静态检测代码例如流没关闭,游标未关闭等导致的内存溢出


0 0
原创粉丝点击