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

移动开发 Android
Android多媒体技术是Google基于Linux开发的智能手机操作系统,广泛应用于3G手机、上网本等,现在正在火热进行使用中。

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)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。#t#

现有编程语言均未专门对多核处理器进行优化。派克表示,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多媒体存在的问题是,我们一直没有一个数字协处理器。”

责任编辑:chenqingxiang 来源: 计世网
相关推荐

2010-02-05 16:28:07

Android

2010-03-03 16:08:20

Android手机系统

2010-02-22 18:25:07

2010-02-03 18:06:42

Python语言

2010-02-06 16:02:57

Android 应用程

2010-02-26 17:54:54

python

2009-12-22 17:00:58

ADOMD.NET对象

2010-03-19 14:12:06

太网交换机

2009-12-17 14:01:44

Visual Stud

2010-01-08 10:41:56

JSON 数据

2010-01-06 16:02:53

2010-01-27 10:29:39

C++代码解析

2009-12-17 14:45:37

Visual Stud

2010-01-14 15:15:39

C++Test

2010-02-03 15:58:53

Python应用程序

2010-01-12 14:52:00

C++技术

2009-12-18 15:49:12

ADO.NET组件

2010-01-13 18:30:18

CC++程序设计

2021-11-12 20:00:52

Linuxcowsay命令

2009-12-09 10:34:10

嵌入式Linux操作系
点赞
收藏

51CTO技术栈公众号