时间:2015-09-03 来源:

jni动态注册 【移动开发】

 
	当java层调用声明的native函数时网页外包接活,他会从对应的so库中寻找对应的c或c++函数,网页外包接活如果找不到就报错,网页切图价格如果找到就为这个函数和java声明的native建立一个联系,div+css制作其实就是保存jni层函数的指针.以后再次调用java中声明的native函数时直接使用这个函数指针就可以了.
	
	从这里可以看出静态方法就是根据函数名来建立java函数和jni函数之间的关联关系,div+css报价而且要求jni层函数的名字必须遵循特定的格式. 


	动态注册:
	用JNINativeMethod结构体保存java native函数和jni函数的一一对应关系
 	JNINativeMethod定义如下
	typedef struct{
		const char* name;//java中native函数的名字(不用携带包名)
		const char* signature; //java函数的签名信息,兼职手机网页制作
	};

//注册JNINativeMethod数组
	int register_android_media_MediaScanner(JNIEnv* env){
		 //"android/media/MediaScanner" 表明java中哪个类
		return AndroidRuntime::registerNativeMethods(     env,  gMethods  ,NELEM(gMethods)            );
	}



		动态注册函数调用时机
		当java层通过System.loadLibrary加载完jni动态库后,web前端制作紧接着会查找该库中一个叫JNI_OnLoad的函数承接网页制作,如果有就调用它,div前端切图而动态注册的工作就是在这里完成的.
	
	例:
	jint JNI_OnLoad(JavaVm* vm,JNI_VERSION_1_4 ) != JNI_OK  ){
			goto bail;
		}
		
		if(   register_android_media_MediaScanner(env )  <   0  )
			goto bail;
		return JNI_VERSION_1_4 ;  //必须返回这个值符合w3c标准,否则会报错
	}

摘自  深入理解安卓I 

版权声明:本文为博主原创文章,符合w3c标准未经博主允许不得转载.

点击次数:1680
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日基于GNOME的FreeBSD发行GhostBSD2.5RC3发布 ,,2016年06月23日9.1.1添加成员到F#类型 【综合】2014年12月11日卡拉OK字幕效果2014年01月29日Git创建版本库及从远程库克隆 【编程语言】2015年01月07日15篇干货博客38本书4门公开课减掉20斤体重我的2014总结 【编程语言】2014年12月29日深入理解Linux网络技术内幕——L4层协议与RawIP的处理 【移动开发】2015年05月25日自定义类似优酷首页的BannerView幻灯片展示 【移动开发】2015年06月02日oracle分组取每组第一条数据 【Web前端】2014年12月30日教你怎样写自定义IP地址算法 【移动开发】2014年12月10日怎么用五光十色造句2015年05月05日hdoj-1811-RankofTetris【并查集+拓扑排序】【移动开发】2015年07月31日NS3网络仿真(11):ARP 【架构设计】2015年08月15日hdu4415贪心【综合】2015年04月07日从谷歌推出搜索引擎优化指南来看病毒营销2014年01月28日【LeetCode】【Java】MergekSortedLists 【编程语言】2015年07月13日VB计算器项目算法结构分析 【数据库】2015年05月05日行编辑命令的实现,【编程语言】2015年05月18日Swiftl优秀的特性【编程语言】2015年08月16日【android】BroadcastReceiver 【编程语言】2015年02月25日define的特殊用法(求教)【互联网】2015年01月13日第五部分架构篇第十六章MongoDBSharding架构(理解分片) 【架构设计】2015年02月09日CustomeViewisnotusingthe2-or-3-argumentViewconstructors【移动开发】2015年04月09日PHP类连贯操作的实现方法 【移动开发】2015年05月13日URAL1823.IdealGas数学,分类 【系统运维】2015年03月16日PHP论坛软件MySmartBB2.0Beta1发布 ,,2016年06月23日高通网易达成合作:骁龙8系列芯片将为网易游戏提供优化 ,,2017年12月14日【Nginx】Nginx下的Yii部署 【编程语言】2015年01月07日Cocos2d-x3.5设计Fly_bird(飞行的小鸟)并打包成APK文件 【编程语言】2015年06月18日小猪的Android入门之路——目录(持续更新) 【系统运维】2015年02月03日如何做好企业团队的技术选型? ,,2016年06月29日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)