会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

20认识so里的JNI_OnLoad()函数.doc20认识so里的JNI_OnLoad()函数.doc -- 3 元

宽屏显示 收藏 分享

页面加载中... ... 广告 0 秒后退出

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

20.认识.so里的JNI_OnLoad函数当Android的VMVirtualMachine执行到C组件即so文件里的System.loadLibrary函数时,首先会去执行C组件里的JNI_OnLoad函数。它的用途有二1.告诉VM此C组件使用那一个JNI版本。如果你的.so文件没有提供JNI_OnLoad函数,VM会默认该.so檔是使用最老的JNI1.1版本。由于新版的JNI做了许多扩充,如果需要使用JNI的新版功能,例如JNI1.4的java.nio.ByteBuffer,就必须藉由JNI_OnLoad函数来告知VM。2.由于VM执行到System.loadLibrary函数时,就会立即先呼叫JNI_OnLoad,所以C组件的开发者可以藉由JNI_OnLoad来进行C组件内的初期值之设定Initialization。例如,在Android的/system/lib/libmedia_jni.so档案里,就提供了JNI_OnLoad函数,其程序代码片段为//defineLOG_NDEBUG0defineLOG_TAGMediaPlayerJNIjintJNI_OnLoadJavaVMvm,voidreserved{JNIEnvenvNULLjintresult1ifvmGetEnvvoidenv,JNI_VERSION_1_4JNI_OK{LOGEERRORGetEnvfailed\ngotobail}assertenvNULLifregister_android_media_MediaPlayerenvGetEnvvoidenv,JNI_VERSION_1_4JNI_OK{LOGEERRORGetEnvfailed\ngotobail}由于VM通常是多执行绪Multithreading的执行环境。每一个执行绪在呼叫JNI_OnLoad时,所传递进来的JNIEnv指标值都是不同的。为了配合这种多执行绪的环境,C组件开发者在撰写本地函数时,可藉由JNIEnv指标值之不同而避免执行绪的数据冲突问题,才能确保所写的本地函数能安全地在Android的多执行绪VM里安全地执行。基于这个理由,当在呼叫C组件的函数时,都会将JNIEnv指标值传递给它,如下jintJNI_OnLoadJavaVMvm,voidreserved{JNIEnvenvNULL.ifregister_android_media_MediaPlayerenvMonitorEnterenv,objJNI_OK{}查看是否已经有其它执行绪进入此对象,如果没有,此执行绪就进入该对象里执行了。还有,也可撰写下述指令ifenvMonitorExitenv,objJNI_OK{}查看是否此执行绪正在此对象内执行,如果是,此执行绪就会立即离开。
编号:201312142342507828    大小:41.00KB    格式:DOC    上传时间:2013-12-14
  【编辑】
3
关 键 词:
IS 电气 高压 110kv 220kv 550kv 800kv
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

当前资源信息

4.0
 
(2人评价)
浏览:11次
baixue100上传于2013-12-14

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

相关资源

相关资源

相关搜索

IS   电气   高压   110kv   220kv   550kv   800kv  
关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5