JNI のグローバル参照は、プログラマが手動で解放する必要がある参照であると言われています。c コンテキストとは何の関係もありません。のようなコード:
{
jclass clsStr = (*env)->NewGlobalRef(env,cls);
}
return clsStr;
clsStr
それが undefined / undeclaredであるというエラーが表示されます。これは分かります。しかし、私が理解していないのは、これらのタイプの参照の使用です。
clsStr
上記のコードでグローバルとは何ですか? この変数は、将来または呼び出しが返された後にどのように役立ちますか? また、 「基本的に、グローバル参照は、それ (およびその内容) が次の JNI 呼び出しまで存続することを保証するのに役立ちます」と読みましたが、これは理解できません。