https://github.com/square/leakcanary

square 公司出品

mat 下载地址:
http://pan.baidu.com/s/1kVPoIxx

两天,一个内存泄漏 activity 泄漏 ,搞了两天。毕竟是有开发经验的程序员,工作时间久了,你说你没有用过mat?没有过内存优化分析,内存泄漏研究? 呵呵。

第一步:使用stadio 生成hprof文件

内存泄漏分析  mat 使用 activity泄漏

第一步,先用gc 回收回收内存,如果有内存泄漏的话,gc是回收不了的。多点几次。
第二部:
开始生成内存文件。点一下就好了,过一会它会自己生成。


内存泄漏分析  mat 使用 activity泄漏

然后点击去分析你的leaked Activity


内存泄漏分析  mat 使用 activity泄漏

然后:
1.点击这里,可以找到你生成的内存文件。
2.因为mat 是Java内存分析,这里生成的是android的,所以,你要转一下。


内存泄漏分析  mat 使用 activity泄漏

打开mat


内存泄漏分析  mat 使用 activity泄漏
点这里的1,然后在里面搜索你分析出来的内存泄漏的activity的名字,比如:MainActivity


内存泄漏分析  mat 使用 activity泄漏

如图,搞一下


内存泄漏分析  mat 使用 activity泄漏

然后在这里看哪里在引用他。

一般情况,会有如下情况:
1。静态的变量
2。post 的一些Runnable ,activity销毁了,Runnable没有被移除。
3。反正就是一些东西没释放,这些东西还占用着activity。

相关文章:

  • 2021-11-27
  • 2021-07-25
  • 2021-04-03
  • 2021-09-28
猜你喜欢
  • 2021-09-10
  • 2021-09-04
  • 2022-12-23
  • 2021-05-18
  • 2021-10-23
  • 2021-09-09
相关资源
相似解决方案