app的gradle文件直接导入
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
//leakcanary在debug模式下生效
无法直接分析结果的,可Share Heap Dump File出来用MAT分析
第一:下载安装mat
打开可能出现MAT版本与jdk版本不匹配,
此时可能单独下载JDK的zip解压后,
在memoryAnalyzer配置文件添加该JDK下javaw.exe的配置:
-vm
D:\MatTool\mat\mat_jdk\jdk-20.0.2\bin\javaw.exe
同时还需要将导出来的hprof文件转换成mat可打开的文件
cmd下切换到sdk下的转换工具路径:
cd D:\sdk\platform-tools
转换:工具 | 路径下文件 | 生成路径下文件
hprof-conv D:\MATFile\1.hprof D:\MATFile\2.hprof
使用MAT打开文件分析:
打开Hsitogram视角,搜索对应泄露Activity查看
然后筛选掉弱引用等。