5

多くの役立つサイトで詳しく説明されているように、Android アプリのメモリ使用量を分析する 1 つの方法は、「kill -10 [PID]」を実行して HPROF ダンプをトリガーすることです。これは一部のデバイスで機能するようで、logcat には通常次のようなものが含まれています。

I/dalvikvm(32170): threadid=3: reacting to signal 10
I/dalvikvm(32170): SIGUSR1 forcing GC and HPROF dump
I/dalvikvm(32170): hprof: dumping VM heap to "/data/misc/heap-dump-tm1302633572-pid32170.hprof-hptemp".
I/dalvikvm(32170): hprof: dumping heap strings to "/data/misc/heap-dump-tm1302633572-    pid32170.hprof".
I/dalvikvm(32170): hprof: heap dump completed, temp file removed

ただし、他のデバイスでは、「kill -10」を実行すると次のようになります。

I/dalvikvm( 5687): threadid=4: reacting to signal 10
I/dalvikvm( 5687): SIGUSR1 forcing GC (no HPROF)

これを試しているすべてのデバイスはルート化されており、/data/misc を 777 に chmod したことを確認しました。「kill -10」を実行した後、エラー メッセージは表示されません。

参考までに、HPROF ダンプを取得するデバイスは次のとおりです: HTC ACE (Desire HD)、HTC G1、HTC Nexus One (T-Mobile)

そして、HPROF ダンプを取得しないデバイスは次のとおりです: Nexus S、Droid、Droid X、Nexus One (AT&T)

特定のデバイスから HPROF ダンプを取得できないのはなぜですか? ダンプを取得できるようにするためにできることはありますか?

4

1 に答える 1

8

DDMS を使用します。[Dump HPROF File] ツールバー アイコンをクリックします。これは、下向きの矢印が付いた半分満たされた缶のように見えます。今Nexus Sで試してみたところ、魔法のように機能しました.

于 2011-04-13T02:28:29.633 に答える