Android 内存泄漏「检测工具」之——LeakCanary2.0

    科技2024-05-14  78

    前言

    在Android的性能优化中,内存优化是必不可少的点,而内存优化最重要的一点就是解决内存泄漏的问题,在Android的内存泄漏分析工具也不少,比如PC端的有:AndroidStudio自带的Android Profiler、MAT等工具;手机端也有,就是我们今天要介绍的LeakCanary

    LeakCanary2.0原理

    详见LeakCanary官网文档

    LeakCanary2.0使用

    1. 集成

    LeakCanary2.0只需要在build.gradle中添加依赖即可

    dependencies{ // debugImplementation because LeakCanary should only run in debug builds. debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.4' }

    官方给出的这种依赖方式,是为了防止在release环境中使用LeakCanary。

    一般开发我们会有debug和release两种buildType,但是如果你想额外创建一个buildType也是可以的,也可以为这个buildType单独设置LeakCanary2.0的依赖。

    buildTypes { release { debuggable false //是否开启debug模式 ... } } debug { debuggable true //是否开启debug模式 ... } } debug2 {//新建的一个buildType debuggable true //是否开启debug模式 ... } } }

    为debug2单独设置LeakCanary2.0:

    dependencies{ debug2Implementation 'com.squareup.leakcanary:leakcanary-android:2.4' }

    2.确认LeakCanary是否运行

    在LogCat控制台查看如下日志确认LeakCanary已经运行

    D LeakCanary: LeakCanary is running and ready to detect leaks

    参考文献 1、LeakCanary原理解析 2、LeakCanary2.0使用及原理分析 3、leakcanary以及leakcanary2.0使用方法总结 4、内存分析工具之LeakCanary2.4使用整理

    Processed: 0.010, SQL: 8