在Android应用程序中删除JNI本地引用

时间:2013-03-27 06:04:35

标签: android cordova java-native-interface

嗨在我的android phonegap应用程序中我使用了以下链接并调用了本机代码。使用该本机代码添加了两个数字。使用此本机代码如何删除jni本地引用?

以下是链接:http://marakana.com/forums/android/examples/49.html

我在logcat中收到此错误:

JNI error local reference table overflow 512 entries
VM aborting

要解决此错误,我需要删除jni本地引用

1 个答案:

答案 0 :(得分:0)

要删除本地参考,您需要添加一行env->DeleteLocalRef(jniRef),其中jniRef是您在JNI中创建的对象,例如jstring。您共享的链接中的代码不会导致本地引用表溢出。只有在进行大量对象创建(通常在循环中)时才会发生溢出。它必须在单个函数调用的上下文中发生,因为当函数退出时,所有本地引用都会自动清除。发布一些代码以获得更多帮助