前提 ThirdActivity 已经关闭,回到了MainAcitivity。应该是只有回到了MainAcitivity的。 经过 Profiler 看到还有 ThirdActivity,那就是它有内存泄露。android
一、首先利用 Profiler GC 打点,下载 hpof。固然也能够在Profiler中查看Activity是否有泄露,可是具体不到在哪里。bash
二、下载 MAT eclipse.org/mat/ 单独的一个工具 直接打开 hpof 是不行的,须要转换一下,若是 android sdk目录 sdk/platform-tools中没有 hprof-conv ,那么就下载一个放进去就行了。app
hprof-conv D:\before.hprof D:\after.hprof
复制代码
而后就用MAT 打开就行了。 一、SQL 筛选Activity 等目标eclipse
select * from instanceof android.app.Activity
复制代码
二、找到根节点的引用 若是还有引用那么确定是泄露了啊,应该没有这个 Acitity的,既然存在,那么就有GC root 的引用,致使不能内存回收。 工具
对就是它。学习
固然分析的东西和功能不少,还有两个 hpof 对比,找到区别点,进行定位。spa
完毕~~.net
本文属于粗糙笔记,能够详细看参考文章来学习这一块。3d
『参考文章』:code