美文网首页
LeakCanary+Mat 内存泄漏检测及修改示例

LeakCanary+Mat 内存泄漏检测及修改示例

作者: 闫鹏飞写字的地方 | 来源:发表于2022-09-26 19:50 被阅读0次

通过LeakCanary获取到内存泄漏信息(可达性分析的链路)

image.png

从底部确认是CommonFloorActivity发生了内存泄漏,沿着链路往上一点点看找出具体原因,GlideScreenTransform中持有了CommonFloorActivityContext,间接持有了CommonFloorActivity,导致无法释放CommonFloorActivity

也可以通过Mat分析

image.png

获取到 Heap Dump file也就是2022-09-22_11-24-51_269.hprof

格式转化一下,Mat才能读取

示例:
hprof-conv ./原始文件.hprof ./目标文件.hprof

操作

hprof-conv /Users/yanpengfei/Desktop/2022-09-22_11-24-51_269.hprof /Users/yanpengfei/Desktop/temp.hprof

Mat读取转化后.hprof文件

image.png

点击Histogram

image.png image.png

选择排除弱引用和软引用


image.png

找到了GlideScreenTransform中持有了CommonFloorActivityContext,间接持有了CommonFloorActivity,导致无法释放CommonFloorActivity

image.png

相关文章

网友评论

      本文标题:LeakCanary+Mat 内存泄漏检测及修改示例

      本文链接:https://www.haomeiwen.com/subject/ylowortx.html