JNI简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kevinjqy/article/details/72627989

什么是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提供的库和函数功能很有限,仅仅处理些算法效率敏感的问题。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页