leakcanary的简单介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuzehn/article/details/88746879

leakcanary是一个监测android和java内存泄漏的工具。他能够在不影响程序正常运行的情况下,动态收集程序存在的内存泄漏问题。小的内存泄露可能不会有直接导致程序崩溃,但是量变终会引发质变,从而造成内存溢出,程序崩溃。leakcanary因为功能强大,而且部署简单,所以深受大家的喜爱。

接下来简单介绍怎么将leakcanary集成到我们自己的程序中去,总共分两步:

第一步,引入依赖库。在我们的工程的build.gradle脚本中添加如下语句:

dependencies {
  debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3'
  releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3'
  debugImplementation 'com.squareup.leakcanary:leakcanary-support-fragment:1.6.3'
}

第二步,在程序中启动leakcanary。在程序的主入口中添加如下代码:

if (LeakCanary.isInAnalyzerProcess(this)) {
   return;
}
LeakCanary.install(this);

举一个例子,请参考:

public class DemoApplication extends Application {

  @Override public void onCreate() {
    super.onCreate();
    if (LeakCanary.isInAnalyzerProcess(this)) {
      return;
    }
    LeakCanary.install(this);
    //程序的正常代码。。。
  }
}

到这里,leakcanary就部署好了,是不是非常简单。这样运行程序后,就会同时运行leakcanary,退出程序后,手机桌面就会自动生成一个leakcanary的图标。这时,我们点开图标,如果存在内存泄露,里边就会出现相关的提示信息。

这里给个截图:

项目参考:https://github.com/square/leakcanary

猜你喜欢

转载自blog.csdn.net/liuzehn/article/details/88746879