在android中删除jni本地引用表

时间:2013-03-22 07:24:31

标签: android java-native-interface

您好我使用phonegap和jquery mobile开发了Android应用程序。当我不断使用我的应用程序时,JNI会崩溃我的应用程序并突然关闭。

这是我的logcat错误:

Android : JNI ERROR (app bug): local reference table overflow (max=512)

请帮我从android中删除jni本地参考表。

以下是我所指的删除JNI本地参考表的链接:https://github.com/aclindsa/jnioverhead

在上面的链接中有一个例子,如何从android中删除jni本地引用表。我已经创建了.java和.h文件,就像在链接中一样,它不起作用。请指导我。谢谢你。 / p>

1 个答案:

答案 0 :(得分:1)

在JNI调用开始时使用env-> PushLocalFrame(capacity),并使用env-> PopLocalFrame(NULL)将其删除。另一方面,phonegap家伙应该在他们的代码中解决这个问题。一旦本机方法存在,JNI就会清除本地ref表。