[备忘本]android系统架构

来源:互联网 发布:淘宝店怎么提高流量 编辑:程序博客网 时间:2024/06/11 08:52

android系统架构分四层,从上至下为应用程序层、应用程序框架层、系统运行库层以及Linux内核层。


(1)应用程序层
各种应用程序,例如,SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等。都是用Java语言编写,非固化软件,可以个性化。

(2)应用程序框架层
android系统的核心功能层,具体讲保护各种功能管理器组件。

a)Activity Manager
管理各个应用程序生命周期

b)Window Manager
管理所有的窗口程序

c)Content Provider
提供不用应用程序间的数据存取交互

d)View System
构件应用程序的视图

e)Notification Manager
使应用程序可以在状态栏中显示自定义的提示信息

f)Package Manager
程序包管理器

g)Telephony Manager
移动设备管理器

h)Resource Manager
资源管理器,如字符串、多媒体、颜色、类型、布局等

i)Location Manager
位置管理器,提供位置服务

j)XMPP Service
提供Google Talk服务

(3)系统运行库层
系统运行库分两部分,系统库和android运行时。

a)系统库
系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。其中,
Surface Manager:负责管理应用程序间的显示互动,负责绘图的显示合成。
Media Framework:多媒体库,基于Packet Video OpenCore,支持多种音频、视频格式的录制和回放,编码格式包括MPEG4,MP3、H.264、AAC、ARM等。
SQLite:小型关系型数据库。
OpenGL|ES:根据OpenGL ES 1.0 API标准实现的3D绘图函数库。
FreeType:提供点阵字与向量字的描绘与显示。
WebKit:一套网页浏览器的软件引擎。
SGL:底层的2D图形渲染引擎。
Libc:从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制。

b)Android运行时
android应用程序在android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。
核心库:提供Java语言API中大多数功能,同时也包含了android一些核心API,如android.os、android.net、android.media等。
Dalvik虚拟机:每个android程序都有一个Dalvik虚拟机实例,并在该实例中执行。Dalvik虚拟机是基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机。android程序在虚拟机中执行的不是编译后的字节码,而是通过转换工具dx将Java字节码转成dex格式的中间码。

(4)Linux内核层
Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网络协议以及驱动模型都依赖于Linux内核。

原创粉丝点击