JNI调用
C++ 回调java,不同线程间根据Jvm重新获取env不必再多解释
g_JavaVM->GetEnv((void **)&envnow
g_JavaVM->AttachCurrentThread(&envnow
在保存class 对象时;
g_DMClass = env->findclass("/com/example/controller")
即使g_DMClass 是全局对象也不行;也会遇到stable local ref ;
需要
jclass tmp = env->findclass("/com/example/controller");
g_DMClass = (jclass)env->NewGlobalRef(tmp);
但是在子线程中遇到FIndClass为空问题,始终没找到合适解释,部分文章提到是子线程的类查找机制问题,但没有提供准确解决方式
原文:https://blog.51cto.com/lindt/2446941