debugCompile ‘com.squareup.leakcanary:leakcanary-android:1.5.4’
releaseCompile ‘com.squareup.leakcanary:leakcanary-android-no-op:1.5.4’
build.gradle引入这两个依赖
//添加leakcanary相关的依赖
//在release版本中,使用的是LeakCanary的no-op版本,也就是没有实际代码和操作的Wrapper版本,只包含LeakCanary和RefWatcher类的空实现,这样不会对生成的APK包体积和应用性能造成影响;
1.在Application处填写如下;其中有获取该RefWatcher的方法,我们在Fragment里面需要使用install方法
1.基本上就大功告成了2.举个例子,在MainActivity中我们如下
测试在通知中我们可以看如下通知
分析结果LeakThead是 内部类,默认持有MainActivity的引用;多次横竖屏之后,Activity的生命周期会重走,本来应该被GC回收,但是并没有被回收,就造成了内存泄漏.图中告诉我们是MainActviity实例导致内存泄漏,往上分析就是LeackThread导致.
网友评论