《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之56---BREW SDK 个版本的区别(下)

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/5728906

BREW 4.x 极大的增强了BREW应用的内存保护,所有的BREW应用都可以在一个严格的“沙箱”环境中运行,从而保证一个应用导致的内存崩溃不会影响其他的应用,或者手机的底层软件以及系统软件。基于BREW4.x的应用可以方便的访问文件系统、手机设备以及其他的系统服务。

BREW4.X支持加载ELF文件,这意味着BREW应用可以使用全局变量了(尽管BREW中不推荐使用全局变量)。同时,这也使浮点操作成为可能,而且没有全局数据的扩展类就可以加载到共享的代码空间里,因而可以非常容易地移植其他平台的应用(例如SymbianWindows Mobile上的应用)到BREW的平台上。

BREW 4.x完全改变了以前版本的系统构架(图11-14),是建立在组件服务之上的,组件服务是新增的一层,用来支持进程,线程和模块的加载。

BREW4.x的内核抽象层即组件服务层,将应用框架与操作系统完全隔离开来,具有操作系统的独立性,支持RexLinux等多种嵌入式实时操作系统,为API的移植提供了高度的灵活性。BREW4.x支持模块和执行文件的动态加载,即运行时查询其他服务。

 

 

 

BREW4.x再往后演进就是移动平台BMPBREW Mobile Platform)了。 BMP统一了各种软件技术,形成了单一的开放平台(11-16)。在兼容现存BREW和扩展类的同时,融合了uiOneJ2ME,引进了多窗口技术,Lua, Flash等,丰富了用户接口和移动互联网的集成。

相对于移动互联网设备,BMP是一个开发的操作系统,为运营商,手机厂商和开发商提供免费的SDK。运营商和手机厂商能够灵活地控制和使用源代码,免费的SDK可以自由的下载使用而没有任何限制。BMP支持多种运行环境,为所有支持的技术提供了相应的仿真器,并且增强了开发工具以及面向互联网的web门户。BMP的应用层源代码对开发商是开放的,可以随意修改,定制和扩展应用,并且移动平台是与下载系统独立的。BMP的基础执行环境是跨系统的,手机厂商可以对其自由扩展。

 

对于用户界面而言,所有的BREW扩展和uiOne全部免费开放给开发商,例如BUIWSQLite数据库服务,True type 字体引擎,TrigMLLuaUI引擎等,并计划使用Eclipse作为开发工具的集成环境。应用可以创建多个窗口,由窗口管理器来控制布局、显示堆栈和表现行为等。BMP允许应用间共享显示区域,支持屏幕间切换的渐变效果,更重要的是,应用可以直接显示在待机屏上。

Flash Lite BMP中的一个优化过的Flash播放器,开发商可以完全使用Flash技术在手机设备上进行开发。LUA是另一个开源的脚本语言,与TrigML集成在一起,能够方便uiOne的开发,当然也可以使用Lua做任何想做的事情。

QVM 是一个基于标准的MIDP / CLDCJ2ME解决方案的BREW实现,是一个硬件加速的多任务虚拟机,支持大多数的JSR-248 MSA 特性(不考虑具体的商务授权)。由于是通过BREW API 实现的,并且与窗口管理器集成在一起,所以能够拥有和手机自身应用一样的性能。

            BMP中的数据库服务才开始称得上是真正的数据库服务,是一个基于SQL的数据库实现,支持SQL语句查询并拥有数据同步机制。数据库的服务可以方便的对内容进行查找,排序和索引,内容即可以在本地的文件系统上也可以在外存卡上。BMP开始完善的支持触摸屏技术和POSIX APIPOSIX (Portable Operating System Interface)是由电子和电气工程师协会(Institute of Electrical and Electronic Enginees,IEEE)提出的一系列标准,用于定义一个可移植的操作系统接口。实际上,Linux为什么与UNIX这么相象, 原因之一就在于Linux遵循POSIX标准.

   BMP 对内容管理提供了强大的支持,IMedia 开始支持OMA Janus(微软的DRM机制) 的内容保护。

目录
相关文章
|
2月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
58 1
|
2月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
34 0
|
2月前
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)
|
3月前
|
机器学习/深度学习 人工智能 Java
人工智能平台PAI使用问题之Java SDK支持哪些版本
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
4月前
|
消息中间件 负载均衡 网络性能优化
消息队列 MQ产品使用合集之 终端sdk和云端sdk的区别是什么
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
NoSQL 开发工具 数据库
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
|
4月前
|
存储 人工智能 Java
2024创建boot时 项目SDK11不支持所选的版本Java21 请选择较低版本的java 解决方案
2024创建boot时 项目SDK11不支持所选的版本Java21 请选择较低版本的java 解决方案
40 2
|
4月前
|
jenkins 持续交付 开发工具
Android使用Jenkins打包自动维护sdk版本号
Android使用Jenkins打包自动维护sdk版本号
42 0
|
4月前
|
API 开发工具
抖音sdk,抖音开发api接口
抖音sdk,抖音开发api接口
|
5月前
|
Java 开发工具 Maven
Android SDK开发的那些事(1),已整理成文档
Android SDK开发的那些事(1),已整理成文档

热门文章

最新文章

下一篇
无影云桌面