1、内存泄漏判断
在Android Device Monitor工具中选中可能存在内存泄漏的进程(连接设备后获取root权限才能看见进程列表),选中update heap及Cause GC查看内存,一顿操作后再多点击几次Cause GC看内存是否一直增大,若增大不变小说明有内存泄漏,点击Dump HPROF file按钮生成HPROF文件(内存泄漏发生前后各生成一份)。
生成的hprof文件需要转换成标准的hprof文件才能使用,把hprof文件拷贝到sdk\platform-tools目录下,控制台输入D:进入D盘目录再进入到sdk\platform-tools目录下,使用hprof-conv指令生成hprof标准文件
2、MemoryAnalyzer插件安装
下载MemoryAnalyzer解压后放在eclipse安装包的dropins文件夹下,新建mat.link文件存入MAT路径(分隔符要修改为\\),重启eclipse后可找到MemoryAnalysis工具,点击后可导入hprof文件分析。
3、使用MAT工具找到内存泄漏的对象
思路一 通过饼状图下的problem suspect的details细节中寻找线索
思路二:通过对比内存泄漏发生前后两份hprof文件的histogram列表当中哪个增长得多,然后如图右键查找到响应的对象
网友评论