Android语法范例参考大全
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 Android系统构架

Android系统是以Linux系统为基础的,Google将其按照功能特性划分为4层,自下而上分别是Linux内核、中间件、应用程序框架和应用程序,如图1.1所示。Android在每一层中都对下层进行了封装,同时给上层提供调用接口。

图1.1 Android系统构架

Linux内核(Linux Kernel)

Android平台运行在Linux 2.6之上,其Linux内核部分相当于手机硬件层和软件层之间的一个抽象层。Android的内核提供了显示驱动、摄像头驱动、闪存驱动、键盘驱动、Wi-Fi驱动、音频驱动和电源管理等多项功能。此外,Android为了让Android程序可以用于商业目的,将Linux系统中受GNU协议约束的部分进行了取代。

中间件

中间件包括两部分:核心库(libraries)和Android运行时环境(Android runtime)。其中,核心库提供了最核心的功能管理。显示系统管理负责将图像信息显示到手机屏幕上。媒体框架负责多媒体控制,支持多种视频、音频和静态图片文件。SQLite数据库提供了一个轻量级的关系型数据库。WebKit为嵌入式的Web浏览器引擎。此外,还有很多不同的库,这些库各司其职,完成了Android系统核心功能。

Android运行时环境中的Dalvik虚拟机是有别于Java虚拟机的。在Android中,每一个应用程序都在自己的进程中运行,Android系统为其分配专用的Dalvik虚拟机。由于Android系统的优化,虚拟机执行的“.dex”文件占内存很小,程序间的影响大大降低,系统运行速度也得到加快。Dalvik虚拟机是基于寄存器的,并不直接运行Java类文件,而是将其转换为“.dex”格式再执行。

应用程序框架(Application Framework)

应用程序框架提供了程序开发人员的接口,这是与Android程序员直接相关的部分。Android应用程序框架提供了很多功能。Activity管理器(Activity Manager)用来处理应用程序每一个Activity的生命周期。内容提供者(Content Providers)负责应用程序之间的数据共享和访问。View系统用来构建应用程序视图,提供了列表(lists)、网格(grids)、文本框(text boxes)、按钮(buttons)和嵌入式的Web浏览器等丰富多彩的显示控件。消息管理器(Notification Manager)负责应用程序在状态栏中显示的提示信息。

应用程序(Applications)

Android系统还内置了一些常用的应用程序,包括Home视图、联系人、电话、浏览器等等。这些应用程序和用户自己编写的应用程序是完全并列的,同样都是采用Java语言编写的。而且,用户可以根据需要增加自己的应用程序,或者替换系统自带的应用程序。