项目地址

https://github.com/square/leakcanary

接入方法

1. 配置依赖

dependencies {

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'

releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'

}

以上配置,只有在debug版本中启动工具,而在release中会使用空实现,用户不会看到工 具, 也不会增加包体。

注:若工程方法数超标,则可配置 “multiDexEnabled true”

2. 启动工具

public class ExampleApplication extends Application {

@Override public void onCreate() {

super.onCreate();

LeakCanary.install(this);

}

}

在Application启动的时候启动LeakCanary即可。

工具使用

在正常使用应用的过程中,LeakCanary会自动地去检测内存泄露,不需要特殊的操作步骤。

所以测试的同事只需在工具检测到问题后,将情况提给研发同事便可。

查看泄露

当LeakCanary检 测到 泄露时,会弹出通知栏提醒,点击跳转即可查看。

LeakCanary会生 成独 立的桌面图标入口,点击可查看该手机上产生过的泄露。

备注:LeakCanary将数据单独存放在自己的本地目录中, 卸载 我们的产品应用时,并不直接删除这部分记录。

简单案例

应用在GC释放内存

检测到泄露,通知提醒

查看详细的内存泄露信息

05-12 13:22