启动一个Activity之后会调用到 android.os.ZygoteProcess#startViaZygote,
然后到 ZygoteProcess#zygoteSendArgsAndGetResult ,在这里我们可以看到发给 Zygote 服务端的所有参数。
使用 LocalSocket 来和服务端通信 。
服务端为 com.android.internal.os.ZygoteServer
在 服务端的 com.android.internal.os.ZygoteConnection#processOneCommand
读取参数,
到 Zygote.forkAndSpecialize 到 nativeForkAndSpecialize,
对应于
base/core/jni/com_android_internal_os_Zygote.cpp 文件的 com_android_internal_os_Zygote_nativeForkAndSpecialize 函数 ,
然后 com_android_internal_os_Zygote_nativeForkAndSpecialize 调用
ForkCommon 来fork一个子进程 ,然后调用 SpecializeCommon 设置新进程的各种参数。