tvos电视操作系统介绍以及下载

2019-11-04 08:45:58丽君

图5 NGB TVOS的Web执行环境解决方案示意图

 (4)TVM环境实现对J2ME应用的支撑

  NGB TVOS的Java应用执行环境采用了与Android相同的Dalvik Java虚拟机,该虚拟机的实现目前是个开源项目。Dalvik虚拟机的优点就是对Java字节码的解释执行基于寄存器机制,耗内存少,经过优化可在有限的内存空间中同时运行多个虚拟机实例,使得每个Java应用都运行在独立的进程中,Java应用的隔离性比较好,一个Java应用崩溃不影响其它Java应用正常运行。

  然而早期广电运营商部署的很多Java应用都基于Sun J2ME规范,NGB中间件和DCAS标准也基于J2ME规范。J2ME应用的执行环境采用CVM虚拟机,Java字节码的解释执行基于堆栈机制,内存开销大,只能运行一个Java虚拟机实例,所有Java应用运行在同一个进程中,一个Java应用一旦崩溃将导致其它Java应用终止执行。

  NGB TVOS吸收了Dalvik虚拟机的优点,同时为了保护运营商的前期投入,必须要让Dalvik虚拟机能执行基于J2ME规范的Java应用。NGB TVOS实现了TVM(Television Virtual Machine),对Dalvik的核心Java库进行改造,补充了J2ME PBP/FP/CDC库;提供了转换工具,可将J2ME .class文件转成Dalvik .dex文件,可将J2ME .jar包转换成.apk包;J2ME应用的.jar包可预先在前端侧静态转换成.apk包,也可在终端侧动态转换成.apk包,最终dalvik虚拟机执行的都是.dex文件。为保证对J2ME的最大的兼容性,建议在前端侧静态转换,待兼容测试通过后再上线部署。

 (5)Java应用框架的“垫片”机制

  为了发展壮大自己,初期NGB TVOS可利用目前大量存在的Android应用,借势发展壮大自己。对Android应用的兼容是NGB TVOS发展的一种策略,而不是依赖。

  NGB TVOS采用了一种“垫片”机制,实现了对Android应用的兼容。若将来还需要兼容其它平台的应用,同样可采用“垫片”机制实现兼容。垫片机制的原理如图6所示。

图6 NGB TVOS的“垫片”机制

  所谓“垫片”是指保持底层功能组件的核心能力不变,为适应不同平台的需要,对功能组件的能力在Java应用框架层重新组合和封装,以实现对其它平台的兼容支持,其技术原理可通过下面的例子说明。

  举例:NGB TVOS有图形组件、窗口组件和消息组件等,全部是C/C++实现,为实现对J2ME AWT的支持,可将这些组件的能力按照J2ME规范封装出AWT接口;保持这些图形组件的能力不变,也可根据Android规范封装成Android接口。

 (6)Java服务代码采用C++重构,提高运行效率

  在智能电视这种大屏幕应用场景中,应用的执行效率对用户体验的影响极大,为此对NGB TVOS新增加的功能组件直接采用C/C++语言实现,对从Android吸收引进过来的功能组件采用C/C++语言重构。采用原生C/C++方式实现后台服务组件,极大提升了NGB TVOS的运行效率。

相关文章 大家在看