首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

浅谈JNI技术在嵌入式软件开发中的应用 03

浅谈JNI技术在嵌入式软件开发中的应用 03

子功能捕捉视频的实现是由操纵摄像头、视频播放(解码器准备)以及建立摄像头和手机之间的连接会话三个活动组成的。其中操纵摄像头是通过调用底层设备的驱动来实现的,需要利用JNI来实现,完成的方法包括准备、建立、删除、销毁摄像头等。视频播放的一系列过程也是通过c++代码来实现的,除了准备、建立、删除、销毁解码器外,还有开始、暂停、停止解码等。建立摄像头和手机之间的连接类似建立客户端和服务器连接,视频流从摄像头传到手机界面是通过多媒体会话来完成的。多媒体
会话的建立、关闭、摧毁以及会话建立后的发送、取消、读取数据等也是JNI的应用范畴。

  结语

  主张采用纯Java的人们通常反对本地化代码的使用,认为JNI技术会影响程序的可移植性和安全性。还有一些人认为,在Java程序执行的过程中调用c/c++程序只是对过去混合编程技术的简单扩展,其实际目的是为了充分利用大量原有的c程序库。
其实,不必拘泥于严格的平台独立性限制,因为采用JNI技术只是针对一些严重影响Java性能的代码段。该部分可能只占源程序的极少部分,所以几乎可以不考虑该部分代码在主流平台之间移植的工作量。同时,也不必过分担心类型匹配问题,完全可以控制代码不出现这种错误。此外,也不必担心安全控制问题,因为Java安全模型已扩展为允许非系统类加载和调用本地方法,即如果在Java程序中直接调用c/c++语言产生的机器码,该部分代码的安全性就由Java虚拟机控制。
返回列表