谈一谈对Zygote的理解?
![](https://img.haomeiwen.com/i5445201/4f10a9b576fd153a.png)
Zygote的作用是什么?
![](https://img.haomeiwen.com/i5445201/aa786caf9bb82888.png)
启动三段式
![](https://img.haomeiwen.com/i5445201/7179909aef5aadbd.png)
Zygote的启动流程
![](https://img.haomeiwen.com/i5445201/bc5aad339b0afca7.png)
Zygote进程是怎么启动的?
![](https://img.haomeiwen.com/i5445201/cb1bec5b4178d67c.png)
启动配置文件的样式(红--service的名称 蓝--可执行程序的路径 黄--参数)
![](https://img.haomeiwen.com/i5445201/c58a1983d460a568.png)
启动进程
![](https://img.haomeiwen.com/i5445201/22998033b3dbdb52.png)
信号处理-SIGCHLD
![](https://img.haomeiwen.com/i5445201/01ca482a83399185.png)
Zygote进程启动之后做了什么?
![](https://img.haomeiwen.com/i5445201/2bcac8fe8c899bed.png)
Zygote的native世界
![](https://img.haomeiwen.com/i5445201/7e0fbcfa28c3d284.png)
Native切换到java 自己的应用里好像可以直接jni调用,没有说先创java虚拟机的为什么?因为java虚拟机zygote进程中已经创建好了,应用进程有z进程孵化出来的,继承了他的虚拟机,不用再创建一遍了,唯一要做的就是进程启动时重置虚拟机状态和守护线程就可以了
![](https://img.haomeiwen.com/i5445201/055d0f47cc9bf7b4.png)
zygote的java世界
![](https://img.haomeiwen.com/i5445201/1976ef5742d6c353.png)
loop循环里怎么处理socket请求
![](https://img.haomeiwen.com/i5445201/68dc2cac1218d440.png)
要注意的细节
![](https://img.haomeiwen.com/i5445201/270c9fe1c6b7a3df.png)
两个问题
![](https://img.haomeiwen.com/i5445201/afb7708abcc99210.png)
课程总结
谈谈你对z的理解
三段式3w
![](https://img.haomeiwen.com/i5445201/db4eae85ce82444a.png)
网友评论