千家信息网

APP专项---内存泄漏2

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本次利用DDMS来测试。adb devices,设备连接正常启动App,操作一会启动DDMS左侧,先找到刚才操作的App,选中然后点击左上角的show heap updates然后,右侧点击 VM H
千家信息网最后更新 2024年11月11日APP专项---内存泄漏2

本次利用DDMS来测试。


adb devices,设备连接正常

启动App,操作一会

启动DDMS

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

然后点击左上角的show heap updates

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

关注data object-->Total Size

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

继续操作App

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

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

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


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


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

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

然后,使用MAT分析

打开文件

Shallow Heap排序,倒序

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

再排一下序,倒序

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

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

0