here約35分で、あなたのアプリをプロファイルする方法を示しています。あなたがそれを「ライブ」できるかどうかはわかりません。
詳しい情報from this post on milk.com:
があるため、これを試していない アンドロイド1.6とないように注意してください、あなたは生きてそれを行うことができますが、ヒープデータを生成することができるように使用される場合:
ゲットデバイス上のコマンドシェル
$ adb shell
idコマンドを使用してrootとして実行していることを確認できます。応答はuid = 0(root)gid = 0(root)のようになります。そうでない場合は、suと入力してもう一度お試しください。 suが失敗した場合、あなたは運がない。
次に、ターゲットディレクトリが存在することを確認:ターゲット・プロセスにSIGUSR1を送り、あなたのアプリケーションのプロセスIDを決定する
# mkdir /data/misc
# chmod 777 /data/misc
利用PSまたはDDMS:
# kill -10 <pid>
信号をGCの後にヒープ・ダンプが続きます(完全に正確で、実際には同時に発生しますが、ヒープ・ダンプの結果はGC後の状態を反映します)。これには数秒かかることがあるので、完了時を知るためにGCログメッセージを監視する必要があります。
次へ:
# ls /data/misc/heap-dump*
# exit
使用LSは、デバイスのコマンドシェルを終了するには終了し、その後、ファイル名を確認します。
/data/misc/heap-dump-BLAH-BLAH.hprofと.hprof-headという2つの出力ファイルがあります。ここで、BLAHは、ファイル名が一意であることを保証するランタイム生成値です。デバイスのオフにそれらを引き、デバイス側のコピーを削除します。
$ adb pull /data/misc/heap-dump-BLAH-BLAH.hprof tail.hprof
$ adb pull /data/misc/heap-dump-BLAH-BLAH.hprof-head head.hprof
$ adb shell rm /data/misc/heap-dump-BLAH-BLAH.hprof /data/misc/heap-dump-BLAH-BLAH.hprof-head
は、それらを一緒にマージし、中間体を削除します。
$ cat head.hprof tail.hprof > dump.hprof
$ rm head.hprof tail.hprof
あなたは今dump.hprofでHPROFダンプを持っています。
データファイル形式が一般的なhprof形式から少し拡張されました。ライセンスの制限により、変更されたハットツールは配布できません。変換ツールhprof-convを使用して、Android固有の部分を出力から取り除くことができます。このツールは最初1.5に含まれていましたが、古いバージョンのAndroidでも動作します。
変換された出力は、Sun JDKで無料で入手できるjhatとEclipse MATを含む任意のhprofデータアナライザで動作するはずです。
DDMSはヒープとアロケーションのトラッカーを提供しています。これらとMATはほとんど私が見つけることができます。あなたのポストを更新してください。それ以上のものを見つけるのですか? – Asahi
私の答えはこちらhttp://stackoverflow.com/questions/9565453/android-memory-analysis/9679360#9679360 – Sameer