2015-02-18 16 views
-1

我有一個大問題。NDK - 與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行(我調試與「日誌」)的應用程序並顯示的logcat「(錯誤程序)的特定點:本地參考表溢出「。 有沒有人遇到過這個問題?

+0

的[NDK的Android的Dalvik溢出JNI本地參照表(可能重複http://stackoverflow.com/questions/11079912/android- ndk-overflows-dalvik-jni-local-reference-table) – BlamKiwi 2015-02-18 00:32:41

回答

0

因爲你不刪除從數組中取得本地引用:

env->DeleteLocalRef(jLinha); 
+0

該死的,就是這樣! 正在工作! 謝謝你,朋友。 – user3786450 2015-02-18 00:40:23