MAT最新下载地址及Android内存泄露排查简单使用

一、前言

MAT是一个内存泄露分析工具,可以单独下载使用,并不是非得下载Eclipse。在《安卓开发艺术探索》这本书籍有给出MAT的下载地址,但是点进去已经失效了。其实在Eclipse官网依然有这个资源,只是URL改了而已。

二、下载地址

废话少说,直接上地址
https://eclipse.dev/mat/

进去之后点击download,目前最新的版本是1.16.1,如下图:

然后我的是windows的,所以选择下载window的版本,如下图:

上面说了至少要用java17,还在坚持java8的需要升级了!

三、Android内存泄露排查使用方式

  1. 先使用Android Profiler的内存使用分析,如下图
  2. 分析完毕后导出内存快照文件,如下图
  3. 导出的.hprof文件不可以直接使用,需要进行格式转换,可借助Android SDK中的工具来转换。
    先确认SDK的安装位置,如下图:
  4. 找到hprof-conv这个工具,如下图:
  5. 在hprof-conv工具地址栏输入cmd,进入命令窗口
    输入命令
    hprof-conv.exe -z C:\mycode\AndroidStudioProjects\interview-recorder\memory-20260315T170140.hprof C:\mycode\AndroidStudioProjects\interview-recorder\memory-test.hprof

    当然了,具体需要看你的文件存放目录,语法是hprof-conv.exe 原文件路径 要保存的路径
    文件可以直接拖动到命令窗口,不用手输
  6. 使用MAT打开内存快照文件
  7. 打开后可以在全览Overview中选择支配树Dominator Tree,查看引用链



    上面是我用Handler模拟的内存泄露,可以看到MessageQueue持有Message的引用,Message持有target(Handler)的引用,handler又持有LeakTestActivity的引用,导致LeakTestActivity的内存得不到释放。
相关推荐
LCD液晶屏4 小时前
京瓷液晶屏停产替代:杭州立煌科技工业 LCD 解决方案
android·科技
2501_932750266 小时前
Android 自定义 View 入门
android
事圆则缓8 小时前
Android 开启线程的几种方式:Thread、线程池、HandlerThread 与协程
android
半摆烂日常1 天前
低代码平台API对接实践:接口鉴权与数据同步的完整实现
android·低代码·rxjava
事圆则缓1 天前
volatile 使用场景全解析:它能保证什么,又解决不了什么
android
蒲公英内测分发1 天前
智能投影仪参加海外展会,未上架的 Android 配套 App 怎么让客户限时试用?
android
ii_best1 天前
按键精灵手机端开发安卓版实战:手写一个可最小化、可拖动的「运行日志悬浮窗」(附完整 源码 + 踩坑记录)
android·ios·智能手机·自动化·ai编程·按键精灵
终端安全笔记1 天前
安卓做 MDM 管控,先分清三种注册入口
android·安全·智能手机
乌萨达1 天前
手机模拟器安卓怎么用?电脑安装应用、玩手游与账号同步指南
android·智能手机·电脑·雷电模拟器
美狐美颜SDK开放平台1 天前
Android与iOS直播APP美颜有什么区别?视频美颜SDK开发详解
android·ios·音视频·视频美颜sdk