如果Jobject从JNI返回到JAVA,我应该删除GlobalRef吗?

时间:2018-09-14 14:16:28

标签: java c++ c java-native-interface

我想在JNI中存储一个Java对象。所以我

jobject gRefObj = (*env)->NewGlobalRef(env, obj);

此后,我想从其他线程以及从java调用jni来返回jobject以返回对象。这样吧。

(*_env)->DeleteGlobalRef(_env, gRefObj ); // if remove this line, it will work
return gRefObj; // From jni return to java

然后我得到了classCastException,但是如果删除DeleteGlobalRef,它可以正常工作。使用后Java会删除它吗?

0 个答案:

没有答案