当前位置:   article > 正文

JNI_OnLoad 与 JNI_OnUnload

jni_onunload

JNI_OnLoad

Dalvik虚拟机加载C库时,第一件事是调用JNI_OnLoad()函数,所以在JNI_OnLoad()里面进行一些初始化工作,如注册JNI函数等等。注册本地函数,可以加快java层调用本地函数的效率。

JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved){
    __android_log_print(ANDROID_LOG_INFO, "native", "Jni_OnLoad");
    return JNI_VERSION_1_4;
}
  • 1
  • 2
  • 3
  • 4

返回值是jint 类型,告诉Dalvik虚拟机此C库使用哪一个JNI版本。如果你的库里面没有写明JNI_OnLoad()函数,VM会默认该库使用最老的JNI 1.1版本;

JNI_OnUnload

当虚拟机释放该C库时,则会调用JNI_OnUnload()函数来进行善后清除动作。

JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved){
    __android_log_print(ANDROID_LOG_INFO, "native", "JNI_OnUnload");
}
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/133286
推荐阅读
相关标签
  

闽ICP备14008679号