Android平台架构中的各模块介绍如下。

20101110153947798

1.应用程序

Android平台搭载了一系列的核心应用程序,如E-mail客户端、日历、浏览器、电话簿等。这些应用程序都是用Java语言开发的。

2.应用程序框架

通过提供一个开放的开发平台,Android使开发及其丰富和新颖的应用程序成为可能。开发人员可以自由地使用设备的硬件、访问位置信息、运行后台服务、设置闹钟、添加状态栏的提醒等。

同时,开发人员可以像核心应用程序那样随意地使用框架的API来实现自己的功能,应用程序框架对组件之间的重用做了简化。在Android平台下,任何使用程序都可以发布自己的功能模块,其他的应用程序依据一定的安全限制就可以无阻碍地访问这些模块。同时这种机制还允许用户随意更换组件。

3.库

Android包含一个可供不同组件调用的C/C++库,这些功能模块通过应用程序框架暴露给开发者。下面列举一些主要的核心库。

系统C库(libc),标准C系统库的一个BSD系统的衍生实现,并为基于Linux的嵌入设备做了优化。

媒体库(Media Libraries),基于PacketVideo的OpenCORE,该库支持多种音频和视频格式,以及静态的图片文件。

SurfaceManager,主要负责管理针对显示系统的访问及无缝地混合来自不同应用程序的2D和3D图层。

SGL,2D图像引擎。

OpenGL ES,一个基于OpenGL ES 1.0 API的实现,该库或者使用3D硬件加速,或者使用内置的、经过高度优化过的3D软件光栅处理。

FreeType,提供对点阵字和向量字的绘制支持。

SQLite,一个面向所有应用程序的轻量级关系型数据库引擎。

4.Android运行时

在Android平台下,每个应用程序都在自己的进程中运行,而且系统为其分配了专有的Dalvik虚拟机,Dalvik虚拟机在设计时就添加了可以在一个设备上运行多个虚拟机的特性。Dalvik虚拟机执行.dex格式的文件,这类文件经过了优化,占用的内存非常小。

与Java虚拟机是基于栈的不同,Dalvik虚拟机是基于寄存器的,Dalvik虚拟机并不直接执行编译后的Java类文件,而是通过内置的dx工具将其转换为“.dex”格式后再执行。Dalvik虚拟机依赖于Linux核心部件来实现线程管理等功能。

5.Linux Kernel

Android平台使用Linux 2.6版本来构建诸如安全性、内存管理、进程管理、网络协议栈和驱动模型等系统服务,Linux核心在硬件层和软件层之间建立了一个抽象层,使得Android平台的硬件细节对开发人员透明化。

作者:银月莲
出处:http://www.cnblogs.com/moonsilvering
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,包括文章,代码,图片等本站内所有资源,否则保留追究法律责任的权利。

posted on 2011-12-21 22:42  银月莲  阅读(232)  评论(0编辑  收藏  举报