内存优化中MAT的使用

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版权协议,转载请附上原文出处链接和本声明。