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?
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With