😺

【Android】メモリリークを検知する LeakCanary を個人アプリに導入してみた

2022/06/29に公開

LeakCanary は、Android用のメモリリーク検出ライブラリ です。

leakcanary_image

破棄された以下のオブジェクトのメモリリークを自動で検出します。

  • Activity
  • Fragment
  • fragment View
  • ViewModel
  • Service

興味があったので、個人開発している 釣りの単位変換 に導入してみました。

セットアップ

app/build.gradle

dependencies {
    // 追加
    debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
}

使い方

依存関係にLeakCanaryを追加したら、アプリを実行します。

LeakCanaryが正常に動いていると、LogcatDebugに、LeakCanary is running and ready to detect memory leaks.というログが出力されます。

logcat_image

そして、自動的にLeakCanaryのアプリが作成されるので、アプリを起動してLeaks画面でメモリリークを確認することが出来ます。

icon_image

今回、私のアプリではメモリリークが発生していないことが確認できました(よかった)。

screen_image

ちなみに、メモリリークが発生していると、Leaks画面は以下のようになります(LeakCanaryから引用)

leak_image

Discussion