我正在尝试探索GingerBread(2.3)中新的并发垃圾收集器的行为。

有人可以详细解释这些示例日志行(尤其是GC_CONCURRENTGC_FOR_MALLOC的“已暂停”部分)吗?

12-24 10:20:54.912 D/dalvikvm(  414): GC_CONCURRENT freed 510K, 57% free 2529K/5831K, external 716K/1038K, paused 8ms+5ms

12-24 10:20:54.963 D/dalvikvm(  414): GC_FOR_MALLOC freed 510K, 57% free 2529K/5831K, external 716K/1038K, paused 47ms

最佳答案

  • GC_CONCURRENT堆(几乎)已满。因此,并发GC启动
  • freed 510K-释放的内存量
  • 57% free-释放%
  • 后的内存
  • 2529K/5831K-堆
  • 中的实际内存
  • external 716K/1038K-外部分配的内存(不在dvm中的内存)
  • paused 8ms+5ms-GC
  • 花费的时间



    对于并发收集,有两个暂停时间。一个是在收藏的开始,另一个是在收藏的结尾。对于非并行收集,只有一个暂停时间。

    10-08 17:18