一、什么是内存泄漏

垃圾回收器无法回收应被回收的对象
比如:在Activity生命周期过程中,旋转屏幕时应新建activity,原activity应被销毁。但如果线程一直在引用此activity,则会出现OOM(out of memory)

二、常规检查内存泄漏的方法
1.通过统计平台了解oom
2.重现问题
3.在内存泄漏时dump内存
4.使用内存分析工具反复查看
常用java内存分析工具有MAT、YourKit

三、Leakcanary和MAT、YourKit对比

MAT -- 分析起来步骤繁琐,每次抓到dump文件,先要使用”hprof-conv test.hprof test1.hprof” 转换,再使用MAT分析。分析难度较高,初级工程师较难分析。

YourKit -- 商业化工具

Leakcanary -- 简单易用,查看路径简单,且实时记录log

四、Leakcanary用法

官方:https://github.com/square/leakcanary

build - clean project    加载Leakcanary   代码行中可联想出“Leakcanary”

通知栏中查看oom路径   查看reference  哪些地方引用了该类导致oom 

并可实时抓取logcat日志,查看leakcanary日志。

最新文章

  1. MVC4在IIS6上部署遇到的问题
  2. unity, particleSystem的batch优化
  3. Spark如何解决常见的Top N问题
  4. orcl 行转列的存储过程
  5. 帮助中心 7D-我的私家设计师 设计师品牌服饰集成网 7D服装定制!
  6. UILabel 的属性设置
  7. Lambda表达式介绍
  8. Java之数据类型,变量赋值
  9. 剑指Offer——丑数
  10. (NO.00001)iOS游戏SpeedBoy Lite成形记(十八)
  11. LeetCode 905. Sort Array By Parity
  12. Sqrt Bo (水题)
  13. Linux下文件压缩与打包
  14. RSA算法工具
  15. JS在项目中用到的AOP, 以及函数节流, 防抖, 事件总线
  16. linux nginx php-fpm被攻击
  17. ionic的加载功能
  18. beego——日志处理
  19. 实战maven私有仓库三部曲之一:搭建和使用
  20. C#类型基础(1)

热门文章

  1. linux应用程序地址布局
  2. 实现QQslidingMenu侧滑效果学习笔记
  3. WEB/ WCF安全认证
  4. HER COFFEE夜场代金券【1折】_北京美食团购_360团购导航
  5. eclipse与myeclipse工程互转
  6. vb安装过程中 ntvdm.exe[9696]中发生未处理的win32异常
  7. 基于简单sql语句的sql解析原理及在大数据中的应用
  8. DataTables 配置和使用
  9. Android--Service之绑定服务交互
  10. python字符串连接方式(转)