使用 Java Native Interface 的最佳實踐
阿新 • • 發佈:2018-12-13
程式設計師在使用 JNI 時的 5 大效能缺陷如下:
這篇帖子解決了我很大一個問題(當陣列較大時總是程序死掉,就是因為對二維陣列沒有DeleteLocalRef的原因):
void workOnArray(JNIEnv* env, jobject obj, jarray array){ jint i; jint count = (*env)->GetArrayLength(env, array); for (i=0; i < count; i++) { jobject element = (*env)->GetObjectArrayElement(env, array, i); if((*env)->ExceptionOccurred(env)) { break; } /* do something with array element */ (*env)->DeleteLocalRef(env, element); } }