jni 修bug

 1. ReferenceTable overflow (max=512)  内存泄露,程序运行一段时间就挂掉了.
在利用反射调用java中的函数需要释放掉查找到的类
void publishJavaProgress(JNIEnv * env, jobject obj, jint progress)
{
     jclass   clazz   =   (*env)->FindClass(env,"com/itcast/lame/LameActivity"); //String
     if (clazz == 0)     LOGI("dont find class");
     jmethodID   methodid =  (*env)->GetMethodID(env, clazz, "setConvertProgress""(I)V");
     if (methodid == 0)         LOGI("dont find method");
     (*env)->CallVoidMethod(env,obj,methodid,progress);
     (*env)->DeleteLocalRef(env, clazz);    //此释放掉!!!
}





原文地址:https://www.cnblogs.com/lv-2012/p/8ff1bb8cba391b1f90fd60d2a2bf6127.html