Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Zygote in ART (Android Runtime)

Tags:

android

dalvik

With Dalvik VM, the Zygote's role was(is) to act a launch pad for new applications and a repository of live core libraries to which all applications can refer during their life cycles. With the launch of ART, did anything change with respect to the Zygote? Does Zygote still act a launching pad for new applications in Android?

like image 306
RMS1 Avatar asked Sep 03 '25 03:09

RMS1


1 Answers

This is what source.android.com says about this:

Similar to preloaded classes in the zygote, ART attempts to pre-initialize a set of classes at compile time. This creates a ‘boot.art’ file that comprises an image of the compacted heap of pre-initialized classes and related objects. This file is mapped into memory upon zygote startup. While this consumes additional storage (typically 10MB), it speeds zygote startup and creates opportunities for the system to swap out some preloaded classes under memory pressure. This also contributes to improved low-RAM performance for ART, since in Dalvik much of this class information would have been stored in dirty pages in the linear alloc space.

Link here

like image 144
Francesco Rigoni Avatar answered Sep 04 '25 23:09

Francesco Rigoni