应用程序框架
Activity Manager:活动管理器。管理所有应用程序生命周期,以及通常的导航返回栈
Window Manager:窗口管理器。管理所有窗口程序
Content Provider:内容提供者。用来让程序之间互相存取、共享数据。例如,某个应用程序可以存取联系人应用程序内的联系人数据
View System:视图系统。用来构建应用程序的基本组件,包含了列表、网格、文本文档和按钮等
Package Manager:包管理器。用来进行Android系统内程序的管理
Telephone Manager:电话管理器。用来管理所有移动设备的功能
Location Manager:位置管理器。用来提供位置服务
Resource Manager:资源管理器。为应用程序提供各种资源。例如,本地化字符串、图片、布局文件
Notification Manager:通知管理器。使应用程序可以在状态栏应用程序中显示警告信息,状态栏通常在手机的顶部,例如短信、语音邮件提示 就会显示在这里
Android运行时
核心库:包括两大部分,一部分由java所需调用的功能函数组成,一部分由Android核心库android.os、android.net、android.media等组成
Dalvik虚拟机:是一种基于寄存器的java虚拟机,其依靠转换工具dx将java字节码转换为dex格式。基于寄存器的虚拟机相对于基于栈的虚拟机的优点:其所需资源相对较少,而且硬件实现虚拟机也会比较容易
注意:与传统的java程序不同的是,每一个android应用程序都有一个自有的进程,每一个android应用程序都是用一个自有的Dalvik虚拟机来
执行的
系统库
应用程序框架是贴近于应用程序的软件组件服务,而更底层则是Android的函数库,这一部分是应用程序框架的支撑
媒体函数库:使用这个函数库,在播放、录制多种常见的影音格式时,非常方便
Surface Manager:负责2D和3D绘图软件的合成
WebKit:是一套网页浏览器的软件引擎,WebKit可以为Android内部自带的浏览器调用,是一个开源项目,许多浏览器也是用webKit引擎所开发的
SGL:提供Android在2D绘图方面的绘图引擎
OpenGL ES:Android是依据OpenGL标准来实现其3D绘图数据库的,该数据库可以用软件方式执行,也可以用硬件加速方式执行,其中在3D软件光栅处理方面进行了高度优化
FreeType:该库提供位图、向量字的绘图显示
SSL(媒体框架):提供了对各种音频、视频的支持,Android支持多种音频、视频、静态图像格式
SQLite:这是一套轻量级的数据库引擎,支持关系数据库的事物等
Libc:提供了一套C库
Linux内核
采用Linux内核是Android平台开放的基础。Linux内核是软件与硬件的桥梁,底层的工作如驱动的更新、新硬件驱动的编写等都要由google和手机开发商来完成