属性 ro.zygote 的值可为:zygote32、zygote64、zygote32_64、zygote64_32。
这几个脚本的主要不同:
init.zygote32.rc:zygote 进程对应的执行程序是 app_process (纯 32bit 模式)
init.zygote64.rc:zygote 进程对应的执行程序是 app_process64 (纯 64bit 模式)
init.zygote32_64.rc:启动两个 zygote 进程 (名为 zygote 和 zygote_secondary),对应的执行程序分别是 app_process32 (主模式)、app_process64。
init.zygote64_32.rc:启动两个 zygote 进程 (名为 zygote 和 zygote_secondary),对应的执行程序分别是 app_process64 (主模式)、app_process32。
有2个进程,一个64一个32
root 2917 1 1307612 73364 poll_sched 7f03ad4a88fa S zygote64
root 2918 1 1292472 61548 poll_sched 00ffffe440 S zygote
$ ag 'start-system-server'
system/core/rootdir/init.zygote32.rc
1:service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
system/core/rootdir/init.zygote64_32.rc
1:service zygote /system/bin/app_process64 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote
system/core/rootdir/init.zygote32_64.rc
1:service zygote /system/bin/app_process32 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote
system/core/rootdir/init.zygote64.rc
1:service zygote /system/bin/app_process64 -Xzygote /system/bin --zygote --start-system-server