例如,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调用之间随时更改,并且您可以拥有该类的多个实例。