Android内存分析实例(Eclipse+MAT)

Step 1.

首先在Eclipse中下载安装MAT工具,安装完成后连接设备,Eclipse打开ddms,在进程列表中选择要分析的进程,点击红圈中的圆柱体,在应用中执行一些操作后如果我们看到右边的内存在不断增加,则表明该进程中存在内存泄露。


Step 2.

然后点击带有箭头的圆柱体,eclipse会自动导出所选进程的hprof并调用MAT在eclipse中显示分析结果:



Step 3.

在分析结果的reports中有一个Leak Suspect,打开后我们能看到MAT认为有内存泄露的地方,分析方法见后面Step 8:



Step 4.

如果认为Leak Suspect中的信息没有用,可以点击下图红圈中的信息:



Step 5.

它会把进程中所有的对象都列出来,包括个数和占用空间的大小:



Step 6.

如果我们怀疑某个对象可能没有得到释放,可以在下图红圈中输入对象的类名来查看:



Step 7.

这时我们可以看到输入的类的对象有多少个,反复执行操作后再执行上述操作,可以确定输入的对象是否有增加,如果有就说明它确实存在泄漏:



Step 8.

要查看到底是什么对象在引用他们导致内存泄漏,右键单击选择对象,依次按图选择菜单:



Step 9.

这样它会显示是什么对象在引用它们,这时我们再结合代码就知道为什么这些对象在增加了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值