前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JNI简介

JNI简介

作者头像
用户1665735
发布2018-06-20 16:25:44
1.2K0
发布2018-06-20 16:25:44
举报
文章被收录于专栏:kevindroid

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年05月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是JNI
  • 为什么要调用JNI
  • 怎么用JNI
    • JNI与NDK的区别和联系
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档