带您探秘丰富多彩的Android多媒体世界 |
本文标签:Android多媒体 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 。但是谷歌已经使用该语言开发了几个内部项目 。 派克表示,Go是否会对谷歌即将推出的Chrome OS产生影响,现在还言之尚早,不过Go的确可以和Native Client配合使用 。他表示,“Go可以让应用完美的运行在浏览器内 。”例如,使用Go可以更高效的实现Wave,无论是在前端还是后台 。 Go 同时具有两种编译器,一种是建立在GCC基础上的Gccgo,另外一种是分别针对64位x86和32位x86计算机的一套编译器(6g和8g) 。谷歌目前正在研发其对ARM芯片和Android设备的支持 。派克表示,“Android多媒体存在的问题是,我们一直没有一个数字协处理器 。” 【责任编辑:苏越 TEL:(010)68476606】 |