android studio 内存泄露,Android Studio + MAT 内存泄露分析

前提 ThirdActivity 已经关闭,回到了MainAcitivity。应该是只有回到了MainAcitivity的。

通过 Profiler 看到还有 ThirdActivity,那就是它有内存泄露。

f42617221752

image

1、首先利用 Profiler GC 打点,下载 hpof。当然也可以在Profiler中查看Activity是否有泄露,但是具体不到在哪里。

2、下载 MAT http://eclipse.org/mat/ 单独的一个工具

直接打开 hpof 是不行的,需要转换一下,如果 android sdk目录 sdk/platform-tools中没有 hprof-conv ,那么就下载一个放进去就好了。

hprof-conv D:\before.hprof D:\after.hprof

然后就用MAT 打开就好了。

1、SQL 筛选Activity 等目标

select * from instanceof android.app.Activity

2、找到根节点的引用 如果还有引用那么肯定是泄露了啊,应该没有这个 Acitity的,既然存在,那么就有GC root 的引用,导致不能内存回收。

f42617221752

image

对就是它。

f42617221752

image

当然分析的东西和功能很多,还有两个 hpof 对比,找到区别点,进行定位。

f42617221752

image

f42617221752

image

f42617221752

image

完毕~~

本文属于粗糙笔记,可以详细看参考文章来学习这一块。

『参考文章』:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值