MAT(Memory Analyzer Tool)内存泄漏检测
发布网友
发布时间:2022-12-11 02:39
我来回答
共1个回答
热心网友
时间:2024-12-04 12:06
都知道可以使用MAT来进行内存泄漏检测,可是一旦落实到hprof文件中显示出来的字段海洋,又显得无从下手。所以必须要有一目标,目标越精确越好。
一个应用可能包含了几十个Mole,上百个Activity等情况,显然丢过来一个随便抓是hprof文件来分析内存泄漏,基本不太可能;真想要进行分析需要定位单个目标,不如某个让你怀疑的Activity。
1.1. 确定怀疑目标:Main2Activity;
1.2. 进入Main2Activity之前,mp第一个hprof文件,命名first.hprof;
1.3. 进入Main2Activity,进行一定的操作,比如滑动之类,但是最好不要跳转离开页面;
1.4. 关闭Main2Activity,mp第二个hprof文件,命名second.hprof;
1.5. 使用AMT打开first.hprof和second.hprof; 如下图
2.1 进入Histogram页面;
2.2 点击上图第二个hprof的比较按钮,会触发 “Compare to another Heap Dump”
2.3 进入比较页面,同时输入你怀疑的对象
2.4 如上图,在两个hprof文件比较之后,Main2Activity多了一点内存占用,说明Main2Activty存在了内存泄漏;