MAT内存泄漏分析工具

MAT是一款强大的内存泄漏分析工具,MAT不需要安装,下载解压就能用,下载地址 点击打开链接

1.下面模拟一下内存泄漏

  private static TextView sTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sTextView = new TextView(this);
    }


2. 然后用DDMS导出hprof的后缀文件。

MAT内存泄漏分析工具_第1张图片

保存完文件后还不能直接使用,需要使用 hpro-conv 命令进行转换一下,hprof-conv命令是Android SDK提供的,位于Android SDK platform-tools目录下。

MAT内存泄漏分析工具_第2张图片

dos下执行命令hprof-conv com.example.test.hprof  test.hprof


3.得到test.hprof 然后用MAT打开

MAT内存泄漏分析工具_第3张图片

MAT提供的功能很多最常见的就是Histogram和dominator_tree 
dominator_tree是把内存中的对象大小排序了,而且可以分析他们的引用关系,所以就比较常用。

我们可以根据大小来查一遍,选中一条然后 -->path to gc roots-->exclude weak/refrences 查看相关的引用关系,从而排查确定内存泄漏的位置。




你可能感兴趣的:(内存优化)