NDK - 使用 JObjectArray 循环

NDK - Loop with JObjectArray

我有一个大问题。

我有一个方法可以捕获 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"(错误应用程序):本地引用 table 溢出”。 有人遇到过这个问题吗?

因为你没有删除从数组中获取的本地引用:

env->DeleteLocalRef(jLinha);