android - 删除android中的jni本地引用表

标签 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 文件,但它不起作用。请指导我。提前致谢。

最佳答案

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

关于android - 删除android中的jni本地引用表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15564934/

相关文章:

java - OpenCV Mat 处理时间

带有 React Native 的 Android 库项目

java - 为什么 GetMethodID() 对不存在的方法不返回 NULL?

jvm - 如何从 Activity 进程中卸载 JVM?

android - 是否可以从 picasso 的缓存中下载图像?

Android O : Service. stopForeground 等效

java-native-interface - JNI中jclass的类名

android - 完全使用 native 代码(无 JNI)从后台线程更新 UI?

带有 C++ 库的 Java JNI "symbol lookup error"

android - 如何在 Android 2.3.3 中停止垃圾收集