当前位置: 代码迷 >> 综合 >> MAT在Android Studio3.x版本上的使用
  详细解决方案

MAT在Android Studio3.x版本上的使用

热度:49   发布时间:2023-12-16 11:38:31.0

MAT 全称 Eclipse Memory Analyzer,他是一款强大的内存泄漏分析工具,mat不需要安装,下载解压就可使用。

一、工具的下载网址

下载网址

二、在AS3.X上的使用

我们知道AS3.x上找不到了 DDMS 中的Monitor,因为自Android Studio 3.0开始弃用Android Device Monitor。虽说弃用但是我们还是可以使用。

1、命令打开

打开cmd 进入安卓sdk安装路径下的tools,打开这个monitor即可。
在这里插入图片描述
在这里插入图片描述

2、导出文件

在这里插入图片描述

保存文件:
在这里插入图片描述

3、修改文件

使用platform-tools 这个工具:

在这里插入图片描述

在这里插入图片描述
生成文件:
在这里插入图片描述

语法:hprof-conv F://test.hprof F://test-conv.hprof
hprof-conv 为我们使用的工具名
F://test.hprof上文中我们保存的文件全路径
F://test-conv.hprof 要修改为的文件
ps:就是把.hprof 变为-conv.hprof 便于MAT工具识别

4、mat工具使用

使用mat工具打开这个 test-conv.hprof文件

在这里插入图片描述

主要使用功能:
在这里插入图片描述

1、histogram:可以看出内存中不同类型buffer的数量和占用内存大小
2、dominator tree:吧内存大小按照从大到小顺序排序,并且可以分析对象之间的引用关系。内存泄漏分析就是通过dominator tree来完成。

在这里分析查找原因即可:

在这里插入图片描述

小结

随着studio 3.x的出现,Monitor也逐渐被弃用,这时我们使用MAT就不太方便了,其实AS又提供了新的内存分析工具(如下)

在这里插入图片描述
在这里插入图片描述

其实使用框架也可以分析(LeakCanary)
目前比较流行的三个:

  • mat
  • LeakCanary
  • 强大的Android Profiler(参考文章)

The end

  相关解决方案