ART虚拟机

2020-02-01  本文已影响0人  修塔寻千里

ART虚拟机是Android4.4发布的,用来替代Dalvik虚拟机在Android5.0版本默认启用ART。

ART与DVM的区别

ART的运行时堆

与DVM的GC不同,ART采用了多种垃圾收集方案,每个方案会运行不同的垃圾收集器,默认采用了CMS(Concurrent Mark-Sweep)方案,该方案使用sticky-CMS和parital-CMS。根据不同的CMS方案,ART的运行时堆的空间分配也不同,默认是由4个Space和多个辅助数据结构组成,4个Space分别为Zygote Space、Allocation Space、Image Space和Large Object Space。Zygote Space、Allocation Space和DVM的作用是一样的,Image Space 用来存放一些预加载类,Large Object Space用来分配一些大对象(默认大小为12KB),其中Zygote Space和Image Space是进程间共享的。采用标记-清除算法,处理这个四个Space,ART的Java堆中还包括两个Mode Union Table,一个Card Table,两个Heap Bitmap,两个Object Map,以及三个Object Stack。

垃圾收集器

参考资料

上一篇下一篇

猜你喜欢

热点阅读