应用程序层:Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是用java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。
应用程序框架层:应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。
a) Activity Manager(活动管理器)管理各个应用程序生命周期以及通常的导航回退功能
b) Window Manager(窗口管理器)管理所有的窗口程序
c) ContentProvider(内容提供器)使得不同应用程序之间存取或者分享数据‘
d) View System(视图系统)构建应用程序的基本组件
e) Notification Manager(通告管理器)使得应用程序可以在状态栏中显示自定义的提示信息
f) Package Manager(包管理器)Android系统内的程序管理
g)TelephonyManager(电话管理器)管理所有的移动设备功能
h)ResourceManager(资源管理器)提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等
i)LocationManager(位置管理器)提供位置服务
j)XMPPService(XMPP服务)提供Google Talk服务
系统运行库层:系统运行库层可以分成两部分,分别是系统库和Android运行时
a)系统库 系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。
b)Android运行时 Android应用程序时采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。
Linux内核层: Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核