这就是JNI的流程
JNI_onLoad - 获取 JavaVM (获取调用静态方法的jclass)
然后需要从Java调用一些东西到C:
GetEnv()以 JNIEnv 和 AttachCurrentThread()来使用它。
调用java方法
进程java方法返回值
DetachCurrentThread() - 免费帖子
最后有些人
的 DestroyJavaVM()
好问题是:
答案 0 :(得分:1)
当您不再使用JVM时(可能在程序结束时),必须调用DestroyJavaVM()。
卸载类时调用JNI_onUnload(例如,因为删除了类加载器)。
释放一个Class null引用它并删除它的类加载器。
JNI jarrays / jarrays元素,字符串和jobject由JVM分配或使用C缓冲区(您管理);前一种情况见#3。
AttachCurrentThreadAsDaemon()告诉JVM它不应该在关机时等待线程退出(对守护进程有帮助)。