Androidアプリにおけるメモリリーク
Androidアプリ開発をしている上で、メモリリークって怖いですよね。
「Contextの扱いを誤るとメモリリークするよ!」って言われても
「そもそもContextってなんやねん!」って思われている方も多いのではないでしょうか。
LeakCanary
開発中のアプリでRecyclerViewを使っていて、こちらの記事を拝見しました。
たまたま開発中のアプリでも同様の実装をしており、メモリリークが身近なものであるということを再認識したので
上記の記事でも紹介されているLeakCanaryを導入してみました。
導入
appレベルのbuild.gradleに依存関係を追加するだけです。
古いバージョンではちょこっとソースコードを書く必要があったようですが、
最新バージョンではソースコードを書く必要すらありません。
dependencies {
def leakcanary_version = "2.2"
// LeakCanary
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakcanary_version"
}
使い方
アプリ実行中するだけ。
メモリリークを検知するとアプリが通知してくれるようになります。
通知をタップすると、より詳細なダンプを確認できます。
めっちゃ便利。