leakCanary的使用比较简单,使用步骤如下。相关文章: Android studio + MAT内存分析优化 一
(一)添加LeakCanary依赖包 :
https://github.com/square/leakcanary
在主模块app下的build.gradle下添加如下依赖:
dependencies {
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
}
(二)开启LeakCanary
添加Application子类
首先创建一个ExampleApplication,该类继承于Application,在该类的onCreate方法中添加如下代码开启LeakCanary监控:
public class ExampleApplication extends Application {
@Override public void onCreate() {
super.onCreate();
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.
return;
}
LeakCanary.install(this);
// Normal app init code...
}
}
(三)在配置文件中注册ExampleApplication
在AndroidManifest.xml
中的application
标签中添加如下信息:
android:name=".ExampleApplication"
配置完成,开始检测我们的app,打开我们的app一顿操作之后,发现没什么异常提示,,是不是很尴尬,,别急 坑在后面呢。我一开始还以为起不到作用,这里有一个我们要注意的问题,就是Leakcananry检测的过程很慢,我们操作过app之后,要等一段时间,才能收到,通知提示。。。。。。。是不是很坑。
点击通知,进入LeakCanary app ,我们可以看到类似如下图的内存泄漏提示:
可以看到具体的activity泄漏提示。