当前位置: 代码迷 >> 综合 >> Android 内存泄漏「检测工具」之——LeakCanary2.0
  详细解决方案

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

热度:28   发布时间:2024-02-25 16:39:43.0

前言

在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 {
    //新建的一个buildTypedebuggable 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使用整理

  相关解决方案