zygote进程被启动后,创建JVM实例
JNIEnv* env;
if (startVm(&mJavaVM, &env) != 0) {
return;
}
onVmCreated(env);
以后调用任何JAVA CODE都是通过env来执行
env->CallStaticVoidMethod(startClass, startMeth, strArray);
这就是调JAVA的某个类的某个方法比如ZYGOTEINIT.JAVA.MAIN,以后就是执行的JAVA代码了。
复制进程时这个虚拟机实例也被复制,所以JAVA代码执行总是由每一个进程的JVM INSTANCE执行。