2

LogCat で解放された GC_CONCURRENT メッセージの洪水が発生していますが、それらは自分のアプリからのものではありません(確実にアプリを強制的に閉じました)。解放されたメモリは非常に安定しており (約 1430K)、毎秒約 6 回発生します。

これをトラブルシューティングするにはどうすればよいですか?

LogCat がフラッディングされ、貴重なログ ステートメントがバッファから追い出され、セッション フィルタが GC_CONCURRENT イベントが発生するたびに 1 行ずつ上下にジャンプするため、LogCat が「ジグル」するため、アプリの開発が妨げられています。

電話は、Android 2.3.5 を実行する Motorola Atrix 2 です。私はこの電話を開発のみに使用しているため、AT&T のストック ブロートウェア以外の追加アプリはほとんどありません。

11-14 10:50:14.117: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4712K/9671K, external 2357K/2773K, paused 3ms+3ms
11-14 10:50:14.273: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4714K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:14.429: D/dalvikvm(724): GC_CONCURRENT freed 1431K, 52% free 4712K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:14.585: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4714K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:14.742: D/dalvikvm(724): GC_CONCURRENT freed 1428K, 52% free 4714K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:14.898: D/dalvikvm(724): GC_CONCURRENT freed 1430K, 52% free 4713K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:15.054: D/dalvikvm(724): GC_CONCURRENT freed 1427K, 52% free 4714K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:15.210: D/dalvikvm(724): GC_CONCURRENT freed 1432K, 52% free 4711K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:15.367: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4712K/9671K, external 2357K/2773K, paused 3ms+2ms
11-14 10:50:15.523: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4714K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:15.679: D/dalvikvm(724): GC_CONCURRENT freed 1432K, 52% free 4711K/9671K, external 2357K/2773K, paused 3ms+3ms
11-14 10:50:15.835: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4712K/9671K, external 2357K/2773K, paused 3ms+2ms
11-14 10:50:15.992: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4714K/9671K, external 2357K/2773K, paused 2ms+2ms
11-14 10:50:16.148: D/dalvikvm(724): GC_CONCURRENT freed 1429K, 52% free 4713K/9671K, external 2357K/2773K, paused 3ms+3ms
11-14 10:50:16.304: D/dalvikvm(724): GC_CONCURRENT freed 1429K, 52% free 4712K/9671K, external 2357K/2773K, paused 3ms+3ms
11-14 10:50:16.460: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4714K/9671K, external 2357K/2773K, paused 2ms+3ms
11-14 10:50:16.617: D/dalvikvm(724): GC_CONCURRENT freed 1430K, 52% free 4713K/9671K, external 2357K/2773K, paused 3ms+3ms
11-14 10:50:16.773: D/dalvikvm(724): GC_CONCURRENT freed 1429K, 52% free 4712K/9671K, external 2357K/2773K, paused 3ms+3ms
11-14 10:50:16.929: D/dalvikvm(724): GC_CONCURRENT freed 1426K, 52% free 4714K/9671K, external 2357K/2773K, paused 3ms+3ms
4

1 に答える 1

4

プロセス ID はメッセージに表示されます (上記では、pid 724 です)。を使用adb shell psして Linux プロセス ダンプを取得できます。pid 724 のエントリを見つけて、それがどのアプリであるかを確認します。

または、開発者デバイスを使用している場合は、Eclipse/ADT/DDMS 内で [デバイス] ビューを開いてすべてのプロセスを表示できます。pid が一致するアプリ (2 列目) を選択し、[スレッド] ビューを開きます。これにより、アプリ内のすべてのスレッドが表示されます。「utime」列と「stime」列の値が高いスレッドを探します。それを数回ダブルクリックすると、スタック トレースのスナップショットが表示され、すべての GC の原因を示唆している可能性があります。

于 2012-11-14T21:46:58.810 に答える