jni 修bug

mac2022-06-30  56

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);     //此释放掉!!! } 来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/lv-2012/p/8ff1bb8cba391b1f90fd60d2a2bf6127.html

最新回复(0)