Zygote in Android
when an application is launched , the core process for the application is forked from Zygote. Zygote has all the core libraries and hence all applications share these libraries from Zygote. Zygote is also used to share the system drawables with all the apps. This allows the system to load the bitmaps for buttons only once for instance. Zygote System Process The important processes in the system appear to be zygote (which is the app_process binary), and runtime. These are both started up by the init process. The following fragment of init.rc is relevant. It is important to note that these services have the autostart 1 attribute, indicating they are restarted if they quit. zygote { exec /system/bin/app_process args { 0 -Xzygote 1 /system/bin 2 --zygote } autostart 1 } runtime { exec /system/bin/runtime autostart 1 } If we go and kill either the zygote, or runtime process