JNI简介

什么是JNI

JNI(java native interface)java本地开发接口,本质上是一种协议,相当于桥梁的作用,通过jni就可以调用C/C++代码,当然也可以用C调用java的代码。
这里写图片描述

为什么要调用JNI

  • 通过jni技术,可以扩展android手机的功能,比如wifi热点比如NFC技术。
  • native coder执行高效,很明显c语言比java语言更节省内存:比如需要大量运算的游戏(极品飞车等等),万能的解码器,播放器,比如ffmpeg,OpenGl的3D渲染。
  • 代码的复用,有些很完善的工具库是用c写的,比如openCV,7-zip等。
  • 某些特殊的是用场景,比如车载软件系统。

怎么用JNI

  • 看懂c语言的代码
  • 使用android ndk

JNI与NDK的区别和联系

JNI是Java调用Native机制,是Java语言自己的特性全称为Java Native Interface,类似的还有微软.Net Framework上的p/invoke,可以让C#或Visual Basic.NET可以调用C/C++的API,所以说JNI和Android没有关系,在PC上开发Java的应用,如果运行在Windows平台使用JNI是是经常的,比如说读写Windows的注册表。
而NDK是Google公司推出的帮助Android开发者通过C/C++本地语言编写应用的开发包,包含了C/C++的头文件、库文件、说明文档和示例代码,我们可以理解为Windows Platform SDK一样,是纯C/C++编写的,但是Android并不支持纯C/C++编写的应用,同时NDK提供的库和函数功能很有限,仅仅处理些算法效率敏感的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值