メモリダンプをグラフィカルに表示

eclipseを使うと、Androidで簡単にメモリダンプを可視化することができます。


以下、設定方法と使い方です。

準備

Memory Analyerのインストール

ダンプファイルを可視化するツールMemory Analyerをインストールします。

eclipseで、

Help->Install New Software

で、下記サイトを追加して表示されたプラグインをインストールします

http://download.eclipse.org/mat/1.0/update-site/

パーミッションの追加

メモリダンプはSDカードに書き出されるので、メモリダンプをしたいアプリケーションにWRITE_EXTERNAL_STORAGEパーミッションが必要です。
Manifest.xmlに下記を記入します。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

使い方

eclipseを再起動してアプリを実行し、eclipseのDDMSパースペクティブを開く。

Devicesビューで、メモリダンプをしたいプロセスを選択します。

キャプチャしたいとき、DDMS の Dump HPROF File ボタンを押す

ダンプが終わるとダイアログが出てくるので、Leak Suspects Reportをチェックして終了。

ビューが自動で開きます。

上のグラフはOverViewで、その他に

  • Diagram
  • Dominator Tree
  • Path to GC Roots

などのViewがあります。