LoginSignup
4
5

More than 3 years have passed since last update.

メモリリーク検出ライブラリ「LeakCanary」のセットアップ&使い方

Last updated at Posted at 2021-03-02

はじめに

Androidアプリ開発で使えるメモリリーク検出ライブラリを教えてもらったので、導入することにしました。

「LeakCanary」とは?

Android向けのメモリリーク検出ライブラリです。

環境

  • OS:macOS Big Sur 11.1
  • Android Studio:4.1.2
  • Kotlin:1.4.20
  • Gradle:6.8
  • Gradle plugin:4.1.2
  • LeakCanary:2.6

セットアップ

LeakCanaryのインストール

appフォルダ配下の「build.gradle」に依存関係を追加します。

/app/build.gradle
android {
     defaultConfig {
+         // For LeakCanary in instrumentation tests
+         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+         testInstrumentationRunnerArgument "listener", "leakcanary.FailTestOnLeakRunListener"
    }
}

dependencies {
+     // LeakCanary
+     def leakcanary_version = '2.6'
+     debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakcanary_version"
+     androidTestImplementation "com.squareup.leakcanary:leakcanary-android-instrumentation:$leakcanary_version"
}

インストルメンテッドテストでLeakCanaryを実行しない場合は debugImplementation の追加のみでOKです。

これだけでLeakCanaryのセットアップは完了です。

使い方

メモリリーク検出の開始

Android Studioから開発しているアプリを実行するだけで、メモリリークの検出が始まります。

Logcatに以下の文字列が出力されていたら、無事に実行されています。

D LeakCanary: LeakCanary is running and ready to detect leaks

メモリリーク検出の確認

LeakCanaryは別アプリになっているので起動します。
Screenshot_1614686735.png

[Leaks]タブでメモリリークの検出を確認できます。
Screenshot_1614686711.png

私が開発しているアプリではメモリリークが検出されませんでした。

おわりに

かんたんにAndroidアプリのメモリリークを検出できました!
どのようなアプリの開発でも有用だと思います。

参考リンク

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5