【问题标题】:NDK - Loop with JObjectArrayNDK - 使用 JObjectArray 循环
【发布时间】:2015-02-18 00:24:54
【问题描述】:

我有一个大问题。

我有一个方法可以捕获 JObjectArray 字符串并填充字符串向量,因为该向量将用于一段代码中,该代码在应用程序 PC 版本中重复使用。

string linha("");
for (int i = 0; i < tamanhoArray; i++) {
    jstring jLinha = (jstring)env->GetObjectArrayElement(objArray, i);
    const char * charArray = env->GetStringUTFChars(jLinha, NULL );
    if (charArray != NULL)
        linha = string(charArray);
    env->ReleaseStringUTFChars(jLinha, charArray);
    pLista.push_back(linha);
}

该方法在应用程序执行期间多次执行,但总是在第 13 行的某个点(我使用“log”进行调试)为应用程序执行并显示 logcat“(错误应用程序):本地引用表溢出”。 有人遇到过这个问题吗?

【问题讨论】:

标签: android c++ android-ndk


【解决方案1】:

因为你没有删除从数组中获得的局部引用:

env->DeleteLocalRef(jLinha);

【讨论】:

  • 该死的,就是这样!!现在正在工作!谢谢你,朋友。
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 2018-04-22
  • 2015-09-03
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-11
相关资源
最近更新 更多