使用 LeakCanary 庫檢測記憶體洩漏

LeakCanary 是一個開源 Java 庫,用於檢測除錯版本中的記憶體洩漏。

只需在 build.gradle 中新增依賴項:

 dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
   testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
 }

然後在你的 Application 類:

public class ExampleApplication extends Application {

  @Override public void onCreate() {
    super.onCreate();
    
    if (LeakCanary.isInAnalyzerProcess(this)) {
      // This process is dedicated to LeakCanary for heap analysis.
      // You should not init your app in this process.
      return;
    }

    LeakCanary.install(this);
  }
}

現在,當你的除錯版本中檢測到活動記憶體洩漏時,LeakCanary 會自動顯示通知。

注意:除了 leakcanary-android-no-op 依賴項中存在的兩個空類之外,發行程式碼不包含對 LeakCanary 的引用。