android内存泄露LinkCanary简单使用方法
来源:互联网 发布:hair code知乎 编辑:程序博客网 时间:2024/06/08 18:58
经典的面试题:
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内存泄露LinkCanary简单使用方法
- 内存泄露简单解决办法
- LeakCanary-------快速简单排查Android中的内存泄露
- Android 内存泄露
- android内存泄露 mat
- 预防Android内存泄露
- 预防Android内存泄露
- 预防Android内存泄露
- Android 避免内存泄露
- Android内存泄露分析
- Android内存泄露
- 避免Android内存泄露
- android 内存泄露
- Android 内存泄露测试
- 避免Android内存泄露
- android 内存泄露调试
- 避免Android内存泄露
- android内存泄露优化
- Windows下安装tensorflow步骤
- javascript学习基础要点(一)
- 蓝鸥iOS从零基础到精通就业-OC语言入门 属性3
- iOS - Swift 上的NSStringFromClass
- ABAP函数
- android内存泄露LinkCanary简单使用方法
- CloudCompare源码编译
- php中的static和global的区别
- IDEA中maven依赖图
- 获取子网掩码,网关,设置网关
- Image Generation
- 四大开源无人机项目,极客要Get了
- 架构设计:系统存储(18)——Redis集群方案:高性能
- Android:Glide使用