Android zygote总结

一、概述:

zygote的的中文名字为受精卵,它和Android系统的中的Java世界有着重大的关系,它是java世界的半边天。zygote是有init进程根据init.rc文件中的配置项创建的。

二、总结:

zygote是java世界创建的盘古,它创建了第一个Java虚拟机,同时它也成功的繁殖了system_server进程,下面是zygote创建Java世界的步骤:

1、创建AppRuntime的对象,并调用它的start方法。此后的活动由AppRuntime来控制。

2、调用startVm创建虚拟机,然后调用startReg来注册JNI函数,。

3、通过JNI调用com.android.internal.os.ZygoteInit类的main函数,从此进入了Java世界。然而这个世界刚开始创建的时候,什么东西都没有。

4、调用registerZygoteSocket。通过这个函数,它可以相应子孙后代的请求。同时zygote调用preloadClasses和preloadResouces,为Java世界添te砖加瓦。

5、zygote感觉自己压力太大了,便通过调用startsystemService分裂一个子进程system_server来为Java世界服务。

6、zygote 完成了Java世界的初始化工作。下一步便是调用runSelectLoopMode后,便沉沉的睡去了。

以后的日子里:zygote随时守护在我们的周围,当接受到子孙后代的请求时,它会随时醒来,为他们工作。

你可能感兴趣的:(Android zygote总结)