Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 4.2 Jelly bean Dalvik VM中的垃圾收集是如何工作的?_Android_Garbage Collection_Android 4.2 Jelly Bean_Dalvik - Fatal编程技术网

Android 4.2 Jelly bean Dalvik VM中的垃圾收集是如何工作的?

Android 4.2 Jelly bean Dalvik VM中的垃圾收集是如何工作的?,android,garbage-collection,android-4.2-jelly-bean,dalvik,Android,Garbage Collection,Android 4.2 Jelly Bean,Dalvik,编辑:这句话“在android 2.3中,并发标记和扫描用于堆栈相关的对象,将所有内容都视为指针,复制垃圾收集用于堆中的对象”正确吗?有人能解释吗 我知道Android中垃圾收集的主题已经被讨论过了,但是我找不到一个关于它是如何工作的清晰详细的解释,特别是在Android的最后一个版本中,那就是Jelly Bean 4.2 除了主要问题外,我还有两个更具体的问题: 1) 实现了哪些算法(标记和扫描、并发标记和扫描、复制、分代、增量…)以及它们如何适应实际的Android/Dalvik 2) 由于

编辑:这句话“在android 2.3中,并发标记和扫描用于堆栈相关的对象,将所有内容都视为指针,复制垃圾收集用于堆中的对象”正确吗?有人能解释吗

我知道Android中垃圾收集的主题已经被讨论过了,但是我找不到一个关于它是如何工作的清晰详细的解释,特别是在Android的最后一个版本中,那就是Jelly Bean 4.2

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

1) 实现了哪些算法(标记和扫描、并发标记和扫描、复制、分代、增量…)以及它们如何适应实际的Android/Dalvik

2) 由于我是初学者,我如何能自己分解它的工作原理(方法或工具)


感谢您的任何意见。

Dalvik的垃圾收集器自Gingerbread(2.3)以来没有发生显著变化,因此您可以找到的任何关于那个时代或更新时代的信息都可能适用于Jellybean

它使用并发标记和扫描方法。它不复制或压缩,并且有一个轻微的世代概念(优化合子分配的内存)

了解其工作原理的最佳方法是阅读源代码。大多数相关代码都存在于
dalvik/vm/alloc