Zygote进程的Socket通信相关的代码会被fork出来的进程继承,但应用进程不需要Socket,这方面怎么做的?
来源:2-1 谈谈对zygote的理解
慕工程2504881
2019-12-13
写回答
1回答
-
小旋风_qsh
2019-12-17
Zygote在收到孵化进程的消息,执行forkAndSpecialize,当返回的pid == 0 即为孵化出的应用进程,会调用
zygoteServer.closeServerSocket();将socket关闭;
if (pid == 0) {
//pid为0,表示当前代码执行逻辑运行在新创建的进程中,调用handleChildProc处理进程
zygoteServer.closeServerSocket();
IoUtils.closeQuietly(serverPipeFd);
serverPipeFd = null;
handleChildProc(parsedArgs, descriptors, childPipeFd, newStderr);
return true;
} else {50
相似问题