天天看点

Android中内存泄漏的检查工具记录

     最近对老项目进行review的时候发现了很多问题,其中比较突出的就是内存泄漏。由于这种问题比较特殊,因为它平时不会影响我们App的正常功能,但是如果一直不去管理,那么在App运行一段时间之后,必然出现卡顿,甚至是崩溃(由于内存占用而导致的)。

     为了解决这个问题我找到了一个第三方检查内存泄漏的工具LeakCanary。使用方式也很简单,网上有很多教程,我在这里贴一下它的Github地址

使用方式,step1:

//如果只需要在测试环境中使用就用这个
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1' 
//如果需要在正式环境中使用就用这个
implementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
           

 step2:

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        //在项目的Application类中加入这个代码
        if (LeakCanary.isInAnalyzerProcess(this)) {
            return;
        }
        LeakCanary.install(this);
    }
}
           

step3:

剩下的就是照常运行、使用App,当LeakCanary发现内存泄漏的时候,就会在通知栏出现提示。

结尾谈谈内存泄漏检查的原理:

我在某乎上找到了一篇不错的文章,讲的就挺好了--->LeakCanary原理