NDK - 使用JObjectArray循环

时间:2015-02-18 00:24:55

标签: android c++ android-ndk

我有一个大问题。

我有一个方法可以捕获一个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行的某个点上(我用#34; log&#34;进行调试)并显示logcat&#34;( bug app):本地参考表溢出&#34;。 有没有人遇到过这个问题?

1 个答案:

答案 0 :(得分:0)

因为您不删除从数组中获取的本地引用:

env->DeleteLocalRef(jLinha);