例如,SAME对象有两种不同的JNI方法


class JavaObj{
   public native void methodA();
   public native void methodB();
}


这些方法的JNI标头可以是


JNIEXPORT void JNICALL Java_JavaObj_methodA(JNIEnv * pEnv, jobject javaobj);
JNIEXPORT void JNICALL Java_JavaObj_methodB(JNIEnv * pEnv, jobject javaobj);


因此,可以安全地假设pEnv和javaobj的值在这两个单独的JNI调用中是相同的吗?

最佳答案

当然不是。 JNIEnv *可以在两次JNI调用之间随时更改,并且您可以拥有该类的多个实例。

07-26 06:24