Android内存泄露自动检测神器LeakCanary
来源:互联网 发布:js防止跨站脚本攻击 编辑:程序博客网 时间:2024/06/05 23:51
转载自:http://blog.csdn.net/liuhongwei123888/article/details/50454871
经典的面试题:
a、怎样在coding过程中避免内存泄露?
b、怎样检测内存泄露?
这两个问题我想大部分Android 职位面试时都会被问到吧。
怎样避免就不赘述了,网上很多答案。
工具呢,当然也有很多,比如DDMS、MAT等,但是怎样在我们编码过程中植入内存检测代码,让我们程序在开发调试阶段就能发现内存泄露呢?好了,现在该大名鼎鼎的LeakCanary出场了,它是Square公司的一个内存探测开源项目。下面就介绍下怎样使用.
1、配置gradle依赖:
2、初始化Watcher
3、在Activity或Fragment中添加检测
4、测试
5、测试结果
a、Toast显示(大概10秒左右显示)
b、通知显示
c、桌面自动添加的图表
d、内存泄露列表
e、内存泄露详细
LogCat可以看到日志日下(hprof文件可以用MAT打开进行分析):
查看自动生成的AndroidManifest文件,LeakCanarySamples/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
如上所示LeakCanary给我们自动添加了两个Service和一个Activity,并添加了对SD卡的读写权限
注:
1、如果在Release模式下请使用RefWatcher.DISABLED
2、在Activity或Fragment 的 Destroy方法中添加检测(很好理解,就是判断一个Activity或Fragment想要被销毁的时候,是否还有其他对象持有其引用导致Activity或Fragment不能被回收,从而导致内存泄露)
源码地址:https://github.com/mickyliu945/LeakCanarySample 点击打开链接
- Android内存泄露自动检测神器LeakCanary
- Android内存泄露自动检测神器LeakCanary
- Android内存泄露自动检测神器LeakCanary
- Android内存泄露自动检测神器LeakCanary
- Android内存泄露自动检测LeakCanary
- Android内存泄露自动检测LeakCanary
- Android 内存泄露神器之LeakCanary
- Android工具:LeakCanary—内存泄露检测神器
- 内存泄露检测神器 -- LeakCanary源码分析
- Android 内存泄露检测工具 LeakCanary
- Android内存泄露检测(LeakCanary)
- LeakCanary-Android内存泄露检测
- android leakCanary检测内存泄露
- Android LeakCanary 检测内存泄露
- 内存泄露自动探测神器——LeakCanary
- 一个内存泄露自动探测神器——LeakCanary
- 【Android】【内存】内存泄露检查工具 LeakCanary
- Android内存泄露抓取工具leakcanary
- Java常用类
- webpack.config.js配置文件
- 关于 local host 修改 如何修改电脑上的host 同时映射到手机上
- xshell连接Ubuntu
- swust.oj.1072
- Android内存泄露自动检测神器LeakCanary
- 自定义字段的设计与实现(Java实用版)
- 【JavaEE】经典JAVA EE企业应用实战-读书笔记18
- ES6:箭头函数 Arrow Functions
- Java abstract和final
- linux vi中查找字符的方法
- Postgres create readonly account case
- [RK3288][Android6.0] 调试笔记 --- 关闭音频播放停止后进入Standby功能
- 携程2017春季招聘编程题