前言
在Android的性能优化中,内存优化是必不可少的点,而内存优化最重要的一点就是解决内存泄漏的问题,在Android的内存泄漏分析工具也不少,比如PC端的有:AndroidStudio自带的Android Profiler、MAT等工具;手机端也有,就是我们今天要介绍的LeakCanary
LeakCanary2.0原理
详见LeakCanary官网文档
LeakCanary2.0使用
1. 集成
LeakCanary2.0只需要在build.gradle中添加依赖即可
dependencies{
// debugImplementation because LeakCanary should only run in debug builds.debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.4'
}
官方给出的这种依赖方式,是为了防止在release环境中使用LeakCanary。
一般开发我们会有debug和release两种buildType,但是如果你想额外创建一个buildType也是可以的,也可以为这个buildType单独设置LeakCanary2.0的依赖。
buildTypes {
release {
debuggable false //是否开启debug模式...}}debug {
debuggable true //是否开启debug模式...}}debug2 {
//新建的一个buildTypedebuggable true //是否开启debug模式...}}}
为debug2单独设置LeakCanary2.0:
dependencies{
debug2Implementation 'com.squareup.leakcanary:leakcanary-android:2.4'
}
2.确认LeakCanary是否运行
在LogCat控制台查看如下日志确认LeakCanary已经运行
D LeakCanary: LeakCanary is running and ready to detect leaks
参考文献
1、LeakCanary原理解析
2、LeakCanary2.0使用及原理分析
3、leakcanary以及leakcanary2.0使用方法总结
4、内存分析工具之LeakCanary2.4使用整理