APP专项---内存泄漏2

本次利用DDMS来测试。


adb devices,设备连接正常

启动App,操作一会

启动DDMS

image.png

左侧,先找到刚才操作的App,选中

然后点击左上角的show heap updates

image.png

然后,右侧点击 VM Heap-->Cause GC(主动进行一次垃圾清理)

关注data object-->Total Size

image.png

Used%也可以做参考,主要还是观察 Total Size

image.png

继续操作App

如果Total Size的值稳定在一个有限的范围(每次GC之后都会回落),

说明代码良好,不存在内存泄漏

反之,如果这个值越来越大,则说明存在内存泄漏


如果出现内存泄漏,Dump HPROF file

image.png


然后使用hprof-conv命令转化一下,

 image.png

把转化后的文件,放入一个目录

然后,使用MAT分析

image.png

打开文件

image.png

image.png

image.png

Shallow Heap排序,倒序

image.png

在第一条上,右键,List objects--with incoming references

image.png

再排一下序,倒序

image.png

选择第一条,右键,Path To GC Roots-->倒数第二项

image.png

分析一下最下面那个,有可能就是问题所在,提交个开发即可

image.png

猜你喜欢

转载自blog.51cto.com/11009785/2418351