https://github.com/square/leakcanary
square 公司出品
mat 下载地址:
http://pan.baidu.com/s/1kVPoIxx
两天,一个内存泄漏 activity 泄漏 ,搞了两天。毕竟是有开发经验的程序员,工作时间久了,你说你没有用过mat?没有过内存优化分析,内存泄漏研究? 呵呵。
第一步:使用stadio 生成hprof文件
第一步,先用gc 回收回收内存,如果有内存泄漏的话,gc是回收不了的。多点几次。
第二部:
开始生成内存文件。点一下就好了,过一会它会自己生成。
然后点击去分析你的leaked Activity
然后:
1.点击这里,可以找到你生成的内存文件。
2.因为mat 是Java内存分析,这里生成的是android的,所以,你要转一下。
打开mat
点这里的1,然后在里面搜索你分析出来的内存泄漏的activity的名字,比如:MainActivity
如图,搞一下
然后在这里看哪里在引用他。
一般情况,会有如下情况:
1。静态的变量
2。post 的一些Runnable ,activity销毁了,Runnable没有被移除。
3。反正就是一些东西没释放,这些东西还占用着activity。