天天看点

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);   

//此释放掉!!!

}