在JNI 使用中 出现了 app处理MCU回调过来数据的效率问题,发现问题出现在:
jbyteArray array = env->NewByteArray(size);
env->SetByteArrayRegion(array, 0, size, (jbyte *) Udata);
env->CallVoidMethod(global_ref, dataBean,items,moduleId, count, array);
我此处的代码就是把这个jbyte数据转jbyteArray 传递到java类处理,测试中发现我是没有释放掉这个局部对象,所以在最后加上 env->DeleteLocalRef(array);
同时我们要时刻注意方法传递最后记得释放 局部对象 和 class对象 ,不然问题头大