Android 带有JObjectArray的NDK循环
我有个大问题 我有一个方法,我捕获一个JObjectArray字符串并填充一个字符串向量,因为该向量将在一段代码中使用,该代码在PC应用程序版本中重用Android 带有JObjectArray的NDK循环,android,c++,android-ndk,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->G
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);
}
字符串linha(“”);
对于(int i=0;iGetObjectArrayElement(objArray,i);
const char*charArray=env->GetStringUTFChars(jLinha,NULL);
if(charArray!=NULL)
linha=字符串(charArray);
环境->释放Stringutfchars(查拉雷的jLinha);
普利斯塔。推回(林哈);
}
该方法在应用程序执行期间执行多次,但始终在应用程序第13行的某个点(我使用“log”进行了调试),并显示logcat(bug app):本地引用表溢出)。
是否有人遇到过此问题?因为您没有删除从数组中获取的本地引用:
env->DeleteLocalRef(jLinha);
可能是该死的复制品,就是这样!!正在工作!谢谢你,朋友。