Zygote

Zygote总结

       zygote是在Androidt系统中创建java世界的盘古  ,它创建了第一个java虚拟机,同时它又是女娲,它成功繁殖了framework的核心system_server进程。做为java语言的受益者,我们理应回顾一下zygote创建java世界的步骤:

      第一天:创建AppRuntime对象,并调用它的start。此后的活动则由AppRuntime来控制。

      第二天:调用startVm创建虚拟机,然后调用startReg来注册JNI函数。

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

      第四天:调用registerZygoteSocket。通过这个函数,它可以响应子孙后代的请求。同时zygote调用preloadClass和preloadResources,为Java世界添砖加瓦。

      第五天:zygote觉得自己的工作压力太大,便通过调用startSystemServer分裂一个子进程system_server来为Java世界服务:

      第六天:zygote完成了Java世界的初创工作,它已经很满足了。下一步该做的就是调用runSelectLoopMode后,便沉沉地睡去了。

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

猜你喜欢

转载自technicalsearch.iteye.com/blog/2105792