3

まず、HoneycombのGCログメッセージをここに貼り付けます。

03-08 01:31:54.354: D/dalvikvm(258): GC_CONCURRENT freed 196K, 5% free 7078K/7431K, paused 3ms+3ms
03-08 01:31:54.494: D/dalvikvm(258): GC_FOR_ALLOC freed 4K, 5% free 7073K/7431K, paused 75ms
03-08 01:31:54.494: I/dalvikvm-heap(258): Grow heap (frag case) to 7.391MB for 411152-byte allocation

ここに4つの質問があります。

  1. Google i / o2011でビデオ「AndroidMemoryManagement」を視聴しましたが、5%無料の7078K/7431Kについてはまだわかりません。これは、7431Kヒープサイズで7078Kを使用することを意味しますが、ここで7431Kはどういう意味ですか?7431Kが最大数になることに気付いたからです。この数にポリシーはありますか?それが合計ヒープサイズを意味する場合は、16Mまたは32Mなどである必要がありますが、ここでは明らかにそうではありません。

  2. HoneycombにはGrow heap (frag case) to 7.391MB for 411152-byte allocation、Gingerbreadにはないようなメッセージもあります。それはどういう意味ですか?

  3. Honeycomb以降のGCログメッセージに「externalxxxK/xxxK」などの外部メモリ情報が表示されないのはなぜですか?

  4. また、ICS以降のバージョンでは、GCログメッセージにものような合計時間GC_FOR_ALLOC freed 190K, 13% free 5409K/6164K, paused 67ms, total 71msがありますが、ここでは、alloc gcの合計時間が一時停止時間よりも長く、合計時間が一時停止時間よりもはるかに長いことに気付く場合があります。なぜですか。

4

1 に答える 1

0

ポイント3(外部メモリ情報について)では、ビットマップが外部メモリではなくDalvikメモリの一部であるため、外部メモリとガベージコレクタとの関連性がほとんどないことが原因である可能性があります.

于 2013-06-09T00:07:45.790 に答える