美文网首页Android知识点和文章分享
Android内存优化之LeakCanary的使用

Android内存优化之LeakCanary的使用

作者: 正阳Android | 来源:发表于2017-12-18 15:31 被阅读22次

    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导致.

    相关文章

      网友评论

        本文标题:Android内存优化之LeakCanary的使用

        本文链接:https://www.haomeiwen.com/subject/qnrmwxtx.html