EclipseしかプラグインないのかなMAT。
スタンドアロンとかあったのか。
Eclipse Memory Analyzer Open Source Project
別窓MATで、GCが効かない強参照なリークを探す。
手順
1. hprof 書き出し
2. MATで読ませる
3. 解析結果を眺める
hprof 書き出し
対象アプリを起動後、戻るで終了。
DDMSでパッケージ選択してGC起こして Heap Allocated を確認後、hprofを書き出し。
MATで読ませる
「Unknown HPROF Version (JAVA PROFILE 1.0.3)」と怒られる。
形式をコンバートしてから読ませる。
$ hprof-conv jp.naver.line.android.hprof conved.hprof
解析結果を眺める
タブやリンクから探す。
正規表現を入力して見やすくとか「exclude WeakReference」を選択とか。
まとめ
そんなツールがあるけど、最終的には自分で見つけなければならない。
以下が、よくあるパターンだと。
たぶん、該当してるはず。
• References to Activity, Context, View, Drawable, ...
• Non-static inner classes (e.g. Runnable)
• Caches
資料を見て確認すべし。
Memory management for Android Apps 資料 PDF Google I/0 2012
けど、最近、GCのウザいログでなくなってねえ?
関連ワード: Android・AndroidStudio・開発・GC・WeakReference・メモリーリーク・強参照