使用MAT比较多个hprof文件,查看内存增长原因

1、使用Android Studio内置的Android Profilter 生成hprof文件

打开Android Profilter(View -> Tool View -> Android Filter)

    

2、把hprof文件转换为mat可以识别的标准格式,打开命令行:hprof-conv hprof_path standard_hprof_path

3、使用mat打开生成的standard_hprof文件

4、打开Histogram view.

使用MAT比较多个hprof文件,查看内存增长原因_第1张图片

 5、在NavigationHistory view里 (如果看不到就从Window > Navigation History找 ), 右击histogram然后选择Add to Compare Basket .

6、 打开第二个HPROF 文件然后重做步骤1和5

7、  切换到Compare Basket view, 然后点击Compare the Results (视图右上角的红色"!"图标)。

使用MAT比较多个hprof文件,查看内存增长原因_第2张图片

    如上,结果图中,Objects #1所代表的weak.create.hprof比Objects#0所代表的main.hporf多出了一个WeakReferencesActivity;Objects #2更是多出10000个WFObject对象出来,结果很明显。

 

参考:https://blog.csdn.net/sodino/article/details/38513067

你可能感兴趣的:(android,java)