带您探秘丰富多彩的Android多媒体世界

jiejie 2010-02-04

Android多媒体主要包括:平台由操作系统、中间件、用户界面和应用软件组成,许多手机厂商都在纷纷的想用这个操作系统,毕竟这款操作系统在市场上还是占一席之地的吧。

HTC(宏达电 多普达)、摩托罗拉、索爱、三星等众多公司纷纷推出基于Android智能操作系统,甚至很多上网本也使用Android操作系统。目前Android是最热门的智能操作系统,凭借Linux的软件优势其应用的广泛程度已经让其他对手相形见绌。所以学习Android操作系统具有巨大的意义。

各种库(Libraries)和Android 运行环境(RunTime)本层次对应一般嵌入式系统,相当于中间件层次。Android的本层次分成两个部分一个是各种库,另一个是Android 运行环境。本层的内容。

大多是使用C++实现的。在其中,各种库包括:C库 :C语言的标准库,这也是系统中一个最为底层的库,C库是通过Linux的系统调用来实现。多媒体框架(MediaFrameword):

这部分内容是Android多媒体的核心部分,基于PacketVideo(即PV)的OpenCORE,从功能上本库一共分为两大部分,一个部分是音频、视频的回放(PlayBack),另一部分是则是音视频的纪录(Recorder)。

SGL:2D图像引擎。SSL:即Secure Socket Layer位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。OpenGL ES 1.0 :本部分提供了对3D的支持。界面管理工具(Surface Management):本部分提供了对管理显示子系统等功能。

SQLite:一个通用的嵌入式数据库WebKit:网络浏览器的核心FreeType:位图和矢量字体的功能。Android多媒体的各种库一般是以系统中间件的形式提供的,它们均有的一个显著特点就是与移动设备的平台的应用密切相关。

Android运行环境主要指的虚拟机技术——Dalvik。Dalvik虚拟机和一般JAVA虚拟机(Java VM)不同,它执行的不是JAVA标准的字节码(bytecode )而是Dalvik可执行格式(.dex)中执行文件。

在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。 二者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based)。而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。

现有编程语言均未专门对多核处理器进行优化。派克表示,Go就是谷歌工程师为这类程序编写的一种语言。它不是针对编程初学者设计的,但学习使用它也不是非常困难。Go支持面向对象,而且具有真正的封装(closures)和反射(reflection)等功能。在学习曲线方面,派克认为Go与Java类似,对于Java开发者来说,应该能够轻松学会Go。

之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如Eclipse IDE中的插件。目前还没有支持Go的IDE。在目前谷歌公开发布的所有网络应用中,均没有使用Go。但是谷歌已经使用该语言开发了几个内部项目。

相关推荐

ganyouxianjava / 0评论 2012-05-31