Android内存泄露——MAT工具
一、前言
结束一个需求之后面临着就是各种各样的bug单,其中内存泄露问题着实让人头疼,这篇主要介绍一下如何使用工具——MAT
二、正文
1、Hprof文件解析
- 打开AndroidSDK,找到platform-tools目录下的hprof-conv工具
- 输入命令 hprof-conv in.hprof out.hprof ,其中in.hprof输入文件名,out.hprof输出文件名
2、Mat工具使用(官网地址)
这里推荐独立安装(下载地址):根据系统直接下载Windows (x86)或Windows (x86_64),下载时可以选择适合自己的镜像,双击安装即可。
- 首先使用Mat工具将转换好的文件打开:File->Open File;打开后默认会提示是否进行内存泄漏检测报告(如果打开Dump时跳过了的话,也可以从其它入口进入工具栏上的 Run Expect System Test -> Leak Suspects)
主要有两种方法:
- 使用泄漏对象地址直接查找GC Path,进而分析链路上各个对象的成员变量
- 如果知道泄漏对象的类型,还可以使用如下命令查找泄漏的对象:select * from instanceof com.xx.xxx.xx.xx
三、尾声
详细的不再赘述,这里提供一些分析的很好的文章: