2

JavaVM * javaVM = NULL; JNIEnv * jniEnv = NULL;

createJavaVM)(&javaVM、(void *)&jniEnv、&javaVMInitArgs)

ここで、javaVM*およびjniEnv*はグローバル変数です。

4

1 に答える 1

4

JavaVM *をグローバル変数として保存し、他の場所で使用しても大丈夫ですか?

はい。

JNIEnv *をグローバル変数として保存し、他の場所で使用しても大丈夫ですか?

いいえ。これは、特定のJNIメソッド呼び出しのコンテキストを表します。これは、現在のスレッド、現在のメソッドへの引数、現在のメソッドによって作成されたローカル参照、あらゆる種類のものに依存し、JNIメソッドが戻ると無効になります。

于 2012-04-10T03:38:21.063 に答える