2

编辑:是这个语句“所以在Android 2.3并发标记和扫描用于堆栈相关的对象作为指针和复制垃圾回收用于堆中的对象的一切正确吗?任何人都可以解释? garbage collector in android 2.3垃圾收集在Android 4.2 Jelly bean Dalvik VM中如何工作?

我知道垃圾收集的Android中主题进行了讨论,但我找不到它是如何在Android中的最后一个版本的作品,并特别明确和详细的解释这是果冻豆4.2

除了主要的问题我有两个更具体的问题:

1)哪些算法(标记和清除,并发标记和清除,复制,辈分,增量..)是实施和他们如何将改编成实际的Android/Dalvik

2)作为初学者,我怎么能通过我自己打破它的工作原理(方法论或工具)?

任何输入表示赞赏。

回答

7

自从Gingerbread(2.3)以来,Dalvik的垃圾回收器并没有明显改变,所以你可以找到那个时代或更新的任何信息都可能适用于Jellybean。

它使用并发标记和扫描方法。它不复制或压缩,并且具有几代人的简单概念(优化由合子分配的内存)。

理解它如何工作的最好方法是阅读源代码。大部分相关的代码位于dalvik/vm/alloc