1)首先去官网下载一个独立mat.app
2)在as的monitor上dump java heap生成一个xxxx.hprof的文件,这个文件不能直接使用
3)然后通过命令转换成mat能够直接使用的文件
hprof-conv -z /Users/mac/Desktop/com.tencent.movieticket_2017.06.23_13.25.hprof /Users/mac/Desktop/mat20170623
com.tencent.movieticket_2017.06.23_13.25.hprof是我们要转换的文件
mat20170623是生成的mat能识别的文件
4)然后使用mat打开文件 下面是界面
最常用的是histogram和Dominator Tree
histogram界面
Dominator Tree界面
为了分析内存泄漏我们需要分析Dominator tree中的内存信息,在dominator tree中的内存泄漏一般不会直接显示出来,需要我们按从小到大的顺序去排查
第二项的BitmapDrawable,选中它 单击鼠标右键:Path To GC Roots -> exclude weak/soft references,会出现下面的界面
然后我们在里面查找,是否有activity被持有,无法释放