ID #59016

Android 构架

特性

  可重用和可替换组件的程序应用框架

  针对移动设备优化过的Dalvik虚拟机

  集成了基于开源Webkit引擎的网页浏览器

  经过优化过的自定义2D图形库和基于OpenGL ES 1.0库 可选硬件加速

  SQLite结构化的数据存储数据库

  支持常规的音频视频多媒体格式,如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF
 GSM电话(硬件决定)

 蓝牙、GPRS-EDGE、3G和WIFI无线网络(硬件决定)

 相机、GPS全球定位、导航和感应加速器

 丰富的开发环境包含设备模拟器、工具、调试器、内存和性能分析工具,以及Eclipse集成开发环境插件

Android构架

 应用程序

  Android将启用一套核心应用程序包含Email电子邮件客户端、SMS短信程序、日历、电子地图、网页浏览器、联系人和其他相关常规程序,所有的程序写于Java语言。

 程序框架

 开发者可以完全访问统一API框架通过核心程序,这个程序框架设计可以很简单实现组件复用;任何程序都可以提供他自己的功能到其他程序可以利用这些功能(所执行的组件手框架安全性限制前提下) ,同样允许组件被用户替换,Android开发网友情提示OpenIntents项目就是一个典型的例子,通过androidmanifest.xml文件。

  下面所有的应用程序是一套完整的系统和服务

   通过使用丰富而可扩展的Views类来构造程序的用户界面,包含lists列表框、 grids表格、 text boxes文本框、 buttons按钮和浏览器嵌入控件

  内容提供允许你的程序访问数据从其他的程序如联系人或分享你自己的数据

  资源管理器提供了无需代码访问资源技术,如本地化的字符串、图片以及布局文件等.

  提醒管理器允许所有的应用程序显示自定义的闹铃提醒在状态条上

  窗口活动管理器可以管理消息生命周期和常规的导航恢复栈,Android开放网提醒如Intent

 类库

  Android包含了一套C/C++库被用于多种组件,这些功能以Dalvik API接口形式提供给开发者通过Android程序框架,下面列出了核心类库:

 系统C语言库 一个由BSD实现的标准C语言系统库,移植到linux嵌入式设备上

 媒体库 基于PacketVideo的OpenCORE库,这个库支持录制和回放一些常见的影音格式,同时也支持静态图片包含MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

 外观管理器 管理访问显示子系统和无缝合成2D、3D图形层从多个应用程序上。


 一个现代网页浏览引擎,提供Android浏览器嵌入到web View类的支持
基于SGL的基本2D图形引擎
3D图形库 一个基于OpenGL ES 1.0 API实现的3D类库,提供了硬件加速和高度优化的3D软件光栅

FreeType一个位图和矢量子图渲染器

SQLite一个强有力的轻量级关系数据库引擎提供给所有程序

 Android运行时库

 Android包含了一整套核心组件库提供了大多数的功能并以Java编程语言接口开放

 每个Android程序运行在自己的进程上,同时有它们自己的实例在Dalvik虚拟机上,Dalvik虚拟机可以运行,Dalvik虚拟机执行文件Dalvik Executable .dex格式提供了内存优化

 Dalvik虚拟机依赖底层Linux内核函数如现成了底层内存管理

 Linux内核

 Android依靠Linux 2.6核心系统服务,如安全、内存管理、进程管理、网络栈和驱动模型,内核也可以做抽象层在软件栈和硬件之间。