8

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

GC_CONCURRENT有人可以详细解释这些示例日志行(尤其是and的“暂停”部分GC_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
4

2 回答 2

18
  • GC_CONCURRENT堆(几乎)已满。因此并发 GC 开始了

  • freed 510K - 释放的内存量

  • 57% free- 释放 % 后的内存
  • 2529K/5831K - 堆中的实际内存
  • external 716K/1038K- 外部分配的内存(不在 dvm 中的内存)
  • paused 8ms+5ms- GC 花费的时间

尤其是“暂停”的部分

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

于 2011-07-06T08:42:43.023 回答
5

如果您还没有,请观看此视频: http ://www.google.com/events/io/2011/sessions/memory-management-for-android-apps.html

于 2011-06-01T14:46:44.470 回答