android - 如何修复错误 "JNI ERROR (app bug): global reference table overflow (max=65535)"

标签 android delphi firemonkey

我的应用程序崩溃(很少)并报告此错误:

 "JNI ERROR (app bug): global reference table overflow (max=65535)"
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109] JNI ERROR (app bug): global reference table overflow (max=65535)
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109] global reference table dump:
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]   Last 10 entries (of 65533):
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65532: 0x134039c0 java.lang.String "cocalac"
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65531: 0x76dd9200 android.graphics.Typeface
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65530: 0x13403940 java.lang.String " "
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65529: 0x13403860 java.lang.String "sans-serif-light"
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65528: 0x1328c940 android.graphics.Paint
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65527: 0x13403840 java.lang.String "sans-serif-light"
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65526: 0x134038a0 java.lang.String "sans-serif-light"
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65525: 0x134038c0 java.lang.String "#todo"
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65524: 0x13403940 java.lang.String " "
03-04 14:22:05.974: A/art(15796): sart/runtime/indirect_reference_table.cc:109]     65523: 0x134038e0 java.lang.String "... more[+]"

是什么原因导致此错误以及如何修复它?

最佳答案

您需要在完成后释放全局引用。 Jni 对内存池保留了一些限制,以便检测内存泄漏。引用这个答案,解释很清楚。 Why do we need to delete global references

关于android - 如何修复错误 "JNI ERROR (app bug): global reference table overflow (max=65535)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42596694/

相关文章:

java - 量化等级法

android - 您可以在 Android 应用程序中调用 python 例程吗?

php - Android HTTP POST 从 MySQL 数据库获取多个值

delphi - 需要使我的代码更快。将重复语句的结果存储在 bool 数组中

delphi - 如何在子报表周围绘制超出其父区域的框架?

delphi - 如何在firemonkey下将一些代码排队在下一个周期执行?

delphi - RAD Studio 10.2.3 Linux + Win32

android - 在Android N上发布编译Vulkan API示例的问题

delphi - 查找 psql 命令验证用户是否失败

android - 在使用 Delphi 构建的 Firemonkey Android 应用程序中切换屏幕的正确方法是什么?