3

Сначала я хотел бы вставить некоторые сообщения журнала GC здесь для Honeycomb.Значения для Android GC Log message

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. У меня есть смотреть видео "Android Memory Management" в Google I/O 2011, но я до сих пор не ясно, о 5% свободного 7078K/7431K. Это означает, что мы используем 7078K в размере кучи 7431K, но что здесь означает 7431K? Потому что я замечаю, что 7431K будет до большого числа. Есть ли какая-либо политика для этого числа? Если это означает общий размер кучи, он должен быть 16M или 32M или что-то в этом роде. Но здесь явно нет.

  2. Honeycomb также имеет сообщение Grow heap (frag case) to 7.391MB for 411152-byte allocation, которое у пряника не имеет. Что это значит?

  3. Сообщения протокола GC в Honeycomb, а затем не отображаются данные внешней памяти, такие как «external xxxK/xxxK», почему?

  4. Я также замечаю, что в ICS и более поздней версии сообщение журнала GC также имеет общее время, например GC_FOR_ALLOC freed 190K, 13% free 5409K/6164K, paused 67ms, total 71ms, но здесь общее время gc общее время больше, чем пауза, а иногда вы заметите, что общее время будет намного больше чем приостановленное время. Почему?

ответ

0

В точке 3 (о внешней информации памяти), то это может быть потому, что растровые изображения являются частью Dalvik памяти, чем внешняя память в настоящее время, и, следовательно, существует мало значимость внешней памяти для сборщика мусора.

Смежные вопросы