android使用mat分析内存泄漏

环境: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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值