美文网首页android技术
Android调优之监控应用内存泄漏

Android调优之监控应用内存泄漏

作者: 愈强 | 来源:发表于2020-07-05 13:52 被阅读0次

    Android上一般使用LeakCanary监控Activity的内存泄漏

    1. 添加LeakCanary依赖
    dependencies {
        debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3'
        releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3'
    }
    

    这里接入了两个库,分别用于debug模式与release模式。也就是说编译release包的时候不需要切换代码就可以去除LeakCanary的依赖了,非常方便。

    1. 在代码中进行初始化
    if (!LeakCanary.isInAnalyzerProcess(context)) {
        LeakCanary.install(context);
    }
    

    接入后,桌面上会生成一个Leaks的图标,像下面这样。


    image.png

    当发生内存泄漏的时候,会收到通知消息。分析Activity的引用栈即可查到内存泄漏原因。

    LeakCanary通过持有Activity的弱引用来监控Activity是否被及时回收。

    LeakCanary只能监控到Activity的泄漏情况,而不能监控到其他内存的泄漏情况,比如大图片之类的。这类的内存泄漏问题可以通过Android Studio自带的Profiler工具进行监控排查。

    相关文章

      网友评论

        本文标题:Android调优之监控应用内存泄漏

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