Android Eclipse MATでメモリーリークの可能性がある画像が何かをつきとめる
MATと言えば、マット・デーモンでもなく、マット・ボマーでもなく、Eclipseのプラグイン、Memory Analyzer Toolですね。
MAT自体のインストールや使い方は、下記のブログさんが大変参考になりました。m(_ _)m
http://tlync.hateblo.jp/entry/20111220/1324372308
で、じゃあ色々わかった時に、Leak Suspects(メモリーリークの疑いがあるやつら)の中に、Bitmap画像が入っていた時に、多少テクニックが必要だったので、書いておきます。
↓の記事が大変参考になりました。
MAT (Eclipse Memory Analyzer) – how to view bitmaps from memory dump
http://stackoverflow.com/questions/12709603/mat-eclipse-memory-analyzer-how-to-view-bitmaps-from-memory-dump
下記は、とりあえずの上記サイトの和訳です。
- GIMPをインストールする
- BitmapオブジェクトのmBufferフィールドを右クリックし、 “Copy” -> “Save Value To File” を選択、 どこかに保存する
- GIMPで上記で保存したファイルを開く
- “Load Image from Raw Data”を選択
- RGBかRGBアルファなどの形式を選択するダイアログになりますが、おそらくRGBアルファでOK
- 画像の縦と横を入力
私が止まってしまったのは、この最後の 画像の縦と横を入力しなければいけないところです。
上記の人は、さらっとMATで見れるよ~ 的なことを書いてあります。
縦と横?どこにあるの??
それは次の手順で見れます。
- EclipseのWindow→Show View→Other→Memory Analyzer Views→Inspectorを開きます。
- Inspectorのビューは、MATのオブジェクトを選択すると、連動して色々な情報を表示してくれます。
- MATのメインのビューでLeak Suspectsから、怪しいオブジェクトを選択し、mBitmapを選択します。
- すると、InspectorにAttributesという画面に、画像の縦幅と横幅が表示されます。