它是确定的JavaVM *和* JNIEnv的保存为一个全局变量和其他地方使用它?(Is it ok

2019-06-23 11:53发布

的JavaVM * JAVAVM = NULL; JNIEnv的* JNIEnv的= NULL;

(createJavaVM)(&JAVAVM,(无效*)&JNIEnv的,&javaVMInitArgs)

这里的JavaVM *和* JNIEnv的是全局变量

Answer 1:

它是确定的JavaVM *保存为一个全局变量和其他地方使用它?

是。

它是确定的JNIEnv *保存为一个全局变量和其他地方使用它?

号,它表示一个特定JNI方法调用的上下文。 它是依赖于当前线程上,该参数当前的方法,已经由目前的方法创建的本地引用,各种各样的事情,并且变得一旦JNI方法返回无效。



文章来源: Is it ok to save JavaVM * and JNIEnv * as a global variable and use it elsewhere?