0

这个说法正确吗?“所以在android 2.3中并发标记和扫描用于堆栈相关对象,将所有内容视为指针,复制垃圾收集用于堆中的对象”任何人都可以解释吗?android 2.3 中的垃圾收集器

非常感谢。

4

1 回答 1

1

据我所知,dalvikvm 中有两种 GC 模式。一个是 ConcurrentMarkSweep,另一个是 Copying。

在运行时只会编译一种模式。

并且默认模式是并发标记扫描GC。并发仅用于 gc 标记扫描步骤。而在 GC 过程中,完整的步骤是:

  1. 暂停所有其他线程
  2. 根标记(线程堆栈、jni 引用、类静态字段和类对象)
  3. 恢复所有线程期望自己
  4. 取决于 gc 标记位图的并发标记扫描。这里,其他线程处于运行状态
  5. 暂停所有其他线程
  6. 再次根标记
  7. 通过卡片表标记脏对象
  8. 挂起线程
  9. 并发扫描
于 2014-04-06T03:13:12.927 回答