Android一款移动设备软件包,包括操作系统、中间件和关键应用。 Android SDK中提供必要的工具和API,开始使用Java编程语言在Android平台开发应用程序。
特点
•应用程序框架 能重用和替换的组件
•Dalvik虚拟机 优化移动设备
•集成的浏览器 基于开源的WebKit引擎
•优化的图形 提供自定义的2D图形库;基于OpenGL ES 1.0规范(硬件加速可选)3D图形的的支持
•SQLite的结构化数据存储
•媒体 支持常见的音频,视频和静止图像格式(MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)
•GSM电话(依赖于硬件)
•蓝牙,EDGE,3G和WiFi(依赖于硬件)
•照相机,全球定位系统,指南针,和加速度计(依赖于硬件)
•丰富的开发环境,包括设备模拟器,调试,内存和性能分析工具,和一个用于Eclipse IDE插件
Android架构
下图显示了Android操作系统的主要组成部分。每个部分在下面详细描述。

应用
Android提供了核心应用,包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人等。所有应用程序都使用Java编程语言编写的。
应用框架
通过提供一个开放的开发平台,Android提供了开发人员的能力建设极为丰富和创新的应用。开发者可以自由设备的硬件,接入位置信息的优势,运行后台服务,设置警报,添加通知状态栏等等。
开发人员可以完全访问核心应用中使用相同的框架API。应用程序的架构设计简化了组件的重用,任何应用都可以发布它的功能和任何其他应用程序可能使用这些功能(主体框架执行的安全约束)。该机制允许组件被用户所取代。
所有的应用程序的基础是一套服务和系统,包括:
•一套丰富的可扩展的,可以用来构建一个应用程序,包括列表,网格,文本框,按钮,甚至可嵌入的Web浏览器的点击
•内容提供商,使应用程序访问其他应用程序的数据(如联系人),或共享自己的数据
•一个资源管理器,提供本地化的字符串,图形,和布局文件,如非代码资源的访问
•一个通知管理,使所有的应用程序,在状态栏显示自定义提醒
•活动管理,管理的应用程序的生命周期,并提供了一个共同的导航回栈。
类库
Android包含一套C / C + + Android系统的各个组成部分所使用的库。这些功能通过Android应用程序框架提供给开发者。下面列出了一些核心库:
•系统C库 - 一个标准C系统库(libc)的BSD派生的实施,为嵌入式的基于Linux的设备调整。
•媒体库 - 基于PacketVideo的OpenCORE;库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4,H.264,MP3,AAC,AMR,JPG,和PNG
•表面经理 - 管理多个应用程序,显示子系统和无缝复合材料的2D和3D图形层的访问
•LibWebCore - 一个现代的Web浏览器的引擎,它的权力的Android浏览器和一个可嵌入的web视图
•SGL - 底层的2D图形引擎
•3D库 - 基于OpenGL ES 1.0 API的基础上实现;库的使用无论是硬件3D加速(如果可用)或所包含的,高度优化的3D软件光栅
•用于FreeType - 位图和矢量字体渲染
•SQLite的 - 所有的应用程序提供的一个强大的和轻量级的关系数据库引擎
Android的运行
Android包括一个核心库提供大部分的功能在Java编程语言核心库提供。
每个Android应用都运行在它自己的进程中,与它自己的Dalvik虚拟机实例。 Dalvik被设计,使设备可以有效地运行多个虚拟机。 Dalvik虚拟机执行的Dalvik可执行文件(.DEX)格式,这是最小的内存占用优化文件。 VM是基于寄存器的,并运行由Java语言的编译器已到。dex格式转化的“dx”工具编译的类。
Dalvik虚拟机依赖于Linux内核作为线程和低水平内存管理等基础功能。
Linux内核
Android的核心系统服务,如安全,内存管理,进程管理,网络堆栈和驱动程序模型依赖在Linux 2.6版本。内核也作为硬件和软件堆栈的其余部分之间的抽象层。
浙公网安备 33010602011771号