MAT查找内存泄漏
对于MAT来说,其常规的查找内存泄漏的方式可以细分为如下三步:
1、找到当前 Activity,在 Histogram 中选择其 List Objects 中的 with incoming reference
2、选择当前的一个 Path to GC Roots/Merge to GC Roots 的 exclude All 弱软虚引用。
3、找到的泄漏对象在左下角下会有一个小圆圈。
MAT的关键使用细节
要全面掌握MAT的用法,必须要先了解 隐藏在 MAT 使用中的四大细节,如下所示:
1、善于使用 Regex 查找对应泄漏类。
2、使用 group by package 查找对应包下的具体类。
3、明白 with outgoing references 和 with incoming references 的区别。
with outgoing references:它引用了哪些对象。
with incoming references:哪些对象引用了它。
4、了解 Shallow Heap 和 Retained Heap 的区别。
Shallow Heap:表示对象自身占用的内存。
Retained Heap:对象自身占用的内存 + 对象引用的对象所占用的内存。
版权声明:本文为xfb1989原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。