使用 Java Native Interface 的最佳實踐

程序員在使用 JNI 時的 5 大性能缺陷以下:java

 

這篇帖子解決了我很大一個問題(當數組較大時老是進程死掉,就是由於對二維數組沒有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);
   }
}
相關文章
相關標籤/搜索