Android内存泄露自动检测神器LeakCanary
来源:互联网 发布:集思宝数据导出 编辑:程序博客网 时间:2024/06/05 19:06
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
- 农历查询API接口说明,农历API
- (129)光源移动性
- MySQL中函数CONCAT及GROUP_CONCAT
- 金蝶bos开发经验——1
- JAVA WEB开发乱码问题合集
- Android内存泄露自动检测神器LeakCanary
- 截取以逗号分隔的字符串放到map中
- java高并发之CompletionService优化多线程并发
- 人体运动状态预测-实例分析
- MyReport报表引擎2.7.10.0发布
- ActiveMQ入门实例
- Jenkins执行shell重启tomcat
- ExpandableListView分类
- 使用Redis分区将数据分割到多个Redis实例