JNI/NDK开发指南(2)
来源:互联网 发布:电子海洛因 知乎 编辑:程序博客网 时间:2024/05/23 22:20
1.生成动态库.so,存放于手机的system/lib/中(APP如何将.so存入该目录,奇怪?????),Java层调用JNI的类会执行静态代码System.loadLibrary("***")将手机的system/lib目录中的动态库加载到VM。
2..so动态库里,C组件开发者通过JNI_OnUnload()函数进行初始化。当然,老版的JNI是没有JNI_OnUnload()函数的,从而VM也能根据有无该函数判断JNI是新版or老版。
3.JNI_OnUnload()函数还能将.so提供的各个本地函数登记(怎样的登记过程???)到VM里,以便能加快后续呼叫本地函数的效率。
4.正如在载入.so时会立即呼叫JNI_OnLoad()来进行组件内的初始化;当VM释放该C组件时,也会呼叫JNI_OnUnload()函数来进行善后清除动作。
5.关于JNIEnv的个人理解:例如多个线程中创建了同一个类的对象,并调用对象的native方法,这时会向native方法传递一个参数JNIEnv,表明native方法方法所运行的环境即该native方法运行在哪个线程。
1 0
- JNI/NDK开发指南(2)
- JNI/NDK开发指南(1)
- JNI/NDK开发指南(开山篇)
- JNI/NDK开发指南(开山篇)
- JNI/NDK开发指南(开山篇)
- JNI/NDK开发指南(开山篇)
- JNI/NDK开发指南(开山篇)
- Android之---JNI/NDK开发指南
- JNI/NDK开发指南(一)
- JNI/NDK开发指南(二)
- JNI/NDK开发指南(三)
- JNI/NDK开发指南(四)
- JNI/NDK开发指南(五)
- JNI/NDK开发指南(六)
- JNI/NDK开发指南(七)
- JNI/NDK开发指南(八)
- JNI/NDK开发指南(九)
- JNI/NDK开发指南(十)
- Android应用自动更新功能的代码实现
- 虚函数相关的知识
- 自定义控件(3):view的绘制原理
- dos 命令查找进程pid pid_find.bat
- 最简单的视频编码器:编译(libx264,libx265,libvpx)
- JNI/NDK开发指南(2)
- Android中JNI调用过程简述
- python文件导入的一个例子
- OpenSessionInView
- 中国开源社区的android分享的代码
- 01算法概论
- 安装release版本的apk
- C++ 关于const的一些细节
- Cygwin的替代软件Gow