我想知道如何释放c++类的实例。 我尝试了这样的方法,但出现了错误。
Live *pLive = Live::getInstance();
// do something with pLive
env->DeleteLocalRef(reinterpret_cast<jobject>(pLive));
我需要你的帮助。谢谢你。
由于您没有在 env 上调用任何内容来创建对象,因此我假设 Live::getInstance 返回 C++ 对象而不是 JNI 对象?在这种情况下,请使用删除。您只能在 JNI 对象上使用 DeleteLocalRef。 (JNI对象是实际存在于JVM内部并且可以在Java中直接访问的对象)。尝试在 C++ 对象上删除LocalRef 总是会崩溃,因为它不在 JVM 的共享内存中