![1fb142c4f5e2b2902dea9031e2601cb3.png](https://i-blog.csdnimg.cn/blog_migrate/19849fa263bea534248428eeb89c87b3.jpeg)
Memory Analyzer (MAT)Android内存泄漏分析,快速定位
专注于Android开发,分享经验总结,欢迎加入
![08963fc5be5b5ceb7804900ed0e34629.png](https://i-blog.csdnimg.cn/blog_migrate/aaa0a8328921664ae15e0bf32aafc44e.png)
准备工具
- 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
![a302bce9b33c2cbb45eb2efcde11e061.png](https://i-blog.csdnimg.cn/blog_migrate/e8ada6ead56ec65b379bec4eef58db1f.jpeg)
多点几次GC
![a204b8fae02477c5724f83d37aa9bde5.png](https://i-blog.csdnimg.cn/blog_migrate/ab9d15baa26f24a9109e20c361b99074.jpeg)
在GC过后随机选取一段分析
![a3f1406f85b483e30eb7499bb3aa758f.png](https://i-blog.csdnimg.cn/blog_migrate/d5e3c0675951334402249fec3b300bf1.jpeg)
然后按照包名筛选
![26d45e8a0264a16de3e3fe3c30366f93.png](https://i-blog.csdnimg.cn/blog_migrate/69acc33337abb2ea3367c6cb737d1991.jpeg)
![065a9d45c1b96303236446bc6c7dfaac.png](https://i-blog.csdnimg.cn/blog_migrate/a82337062c17a294950fed04660c3b26.jpeg)
导出要分析的文件
![40495befffa6359952ecb3e91b3420d9.png](https://i-blog.csdnimg.cn/blog_migrate/1d4244c990e2e62a5f894a3a9f55e903.jpeg)
将导出的文件筛选
![979b24e1c43f31a028c18868dc1e2bbd.png](https://i-blog.csdnimg.cn/blog_migrate/7f2d39e4b8b0b25824536c79fb1a854c.png)
![e015a4f3e2a1a49886886d32fd9f173d.png](https://i-blog.csdnimg.cn/blog_migrate/80f580b1d30b10e7cb3a7db4d6409cde.png)
打开下载好的Memory Analyzer
![511357bd2dc2cc0e68b1b3d438131f4f.png](https://i-blog.csdnimg.cn/blog_migrate/5d017c38d521b5e3d5ebe2ca7937f33b.jpeg)
将刚才导出的文件打开
![633345c2b44945426f55b11bfe4a9461.png](https://i-blog.csdnimg.cn/blog_migrate/81fda889bac27a5f404401028481372d.jpeg)
点击如图的选项
![7422f4d76e57f9465530a956f2600113.png](https://i-blog.csdnimg.cn/blog_migrate/ef7da6891af840ec79217c2ef462711a.jpeg)
筛选需要分析的类
![0ae96c18bea637ec1083ec3218a8faec.png](https://i-blog.csdnimg.cn/blog_migrate/26cf7a497a702c9643ad6b413857acc8.jpeg)
筛选的结果
![ee9ffd3a8787c1172480830552f51ca2.png](https://i-blog.csdnimg.cn/blog_migrate/e46421d50f2ad50e5af011d8589ef368.jpeg)
过滤掉软、弱、虚引用
![98681d3a260a9028e1da523707e3dff0.png](https://i-blog.csdnimg.cn/blog_migrate/7f25fb6ab16afa7d1cbdb3b684e486db.jpeg)
![2e3a34e813d60ea296de030ec3be5ed9.png](https://i-blog.csdnimg.cn/blog_migrate/cec9756778b94bbd3ff6b0c3b15b5ae4.jpeg)
定位到了内存泄漏的地方
![9bb2c35a3a73f74294a7dceb3818e464.png](https://i-blog.csdnimg.cn/blog_migrate/6470c833d32130d8915776840ee79523.jpeg)
到此结束,剩下的就是去看代码了
微信公众号 -->> 他晓 (欢迎加入)
![91c8670318c3bfc1848c5fb8d1334231.png](https://i-blog.csdnimg.cn/blog_migrate/933156cc9bdc0f4999f12eb7bbb24e19.png)