Memory Analyzer (MAT)Android内存泄漏分析,快速定位
Posted 他晓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Memory Analyzer (MAT)Android内存泄漏分析,快速定位相关的知识,希望对你有一定的参考价值。
专注于android开发,分享经验总结,欢迎加入
内存泄漏
内存泄漏就是分配的内存空间没有及时回收导致的。可使用的内存变少,应用变卡,最后内存溢出后应用就会挂掉
内存泄漏的检测
准备工具
Android Studio
Memory Analyzer (MAT)
下载Memory Analyzer (MAT) https://www.eclipse.org/mat/
在导出的文件夹下打开命令行窗口,输入hprof-conv -z 2.hprof 2-mat.hprof
-z 是只选取app heap
为了更清楚的描述,采用图片的方式
打开AndroidStudio 打开Profiler分析内存泄漏,点击memory
多点几次GC
在GC过后随机选取一段分析
然后按照包名筛选
导出要分析的文件
将导出的文件筛选
打开下载好的Memory Analyzer
将刚才导出的文件打开
点击如图的选项
筛选需要分析的类
筛选的结果
过滤掉软、弱、虚引用
定位到了内存泄漏的地方
定位到了泄漏的地方后,找到所指向的地方,需要自行去判断优化
内存泄漏的地方有时候很难找,需要随机去点击,要有耐心,找到优化完在多分析几次,看看有没有其他的点
代码要规范,不要留坑
有描述不清楚的,欢迎进群讨论
以上是关于Memory Analyzer (MAT)Android内存泄漏分析,快速定位的主要内容,如果未能解决你的问题,请参考以下文章
Memory Analyzer (MAT)Android内存泄漏分析,快速定位
MAT Memory Analyzer Tool 工具入门介绍
使用Eclipse Memory Analyzer Tool(MAT)分析故障
Java:Memory Analyzer Tool (MAT) 用法:比较两个 heapdump