Android内存泄漏检测工具LeakCanary2的使用
开始之前先推荐一下LeakCanary的官网连接 LeakCanary(gitHub),可以查阅到有关于LeakCanary的所有的官方的信息,包括版本升级历程、使用教程等,建议阅读!其中可以查看一下他其中的“升级到LeakCanary2”文章,附上链接 升级到LeakCanary教程。好了下面开始介绍LeakCanary的简单使用流程,LeakCanary2之前版本的使用本章不做介绍,需要的可以查询其他博客。
- 依赖导入
dependencies {
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'
implementation 'com.squareup.leakcanary:leakcanary-object-watcher-android:2.5'
}
这里可以看出依赖包导入的明显与之前有所不同,在LeakCanary2之前在高版本android中使用会出现报错现象,本人测试环境为android10.0(LeakCanary1.6.3除外)。
2.代码中配置(Java)
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
AppWatcher.Config config = AppWatcher.getConfig().newBuilder()
.watchFragmentViews(false)
.build();
AppWatcher.setConfig(config);
}
}
注意:这里自定义了MyApplication,需要清单配置文件(AndroidManifest.xml)中的application标签下添加android:name=".MyApplication"属性
运行程序到设备(虚拟机或者真机),这时候设备上会出现一个名为【Leaks】的app,程序启动后关闭程序后如果是存在内存泄漏等待若干秒后设备会接收到信息,打开Leaks就可以查看到关于内存泄露的信息。
根据信息定位泄漏位置修复内需泄漏(官网教程修复内存泄漏),具体的详细使用方式请查阅官网(链接在文章开头提到)。