1.1 Android系统架构详解

1.1 Android系统架构

Android是一种基于Linux的*及开放源代码的操作系统,主要适用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

Android的系统架构和其操作系统一样,采用了分层的架构。大致分为四层架构,从低层高层分别是Linux内核层、系统运行库层、应用程序框架层和应用程序层。(如图1-1所示)

 1.1 Android系统架构详解

1-1 Android系统架构

如上图所示:蓝色部分代表Java程序,黄色部分代表运行Java程序而实现的虚拟机,绿色部分代表C/C++语言编写的程序库,红色部分代表内核(Linux内核和Driver

1. Linux内核(Linux Kernel

Android系统是基于Linux内核,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。(主要内容如下表所示)

名称

功能描述

Display Driver

显示驱动

Camera Driver

照相机驱动

Bluetooth Driver

蓝牙驱动

Flash Memory Driver

闪存驱动器

BinderIPCDriver

粘合剂(IPC)驱动器

USB Driver

USB驱动程序

Keypad Driver

键盘驱动

Wi-Fi Driver

Wi-Fi驱动

Audio Drivers

音频驱动程序

Power Management

电源管理

 

2. 系统运行库(Libraries/Android Runtime

系统运行库层可分为部分,分别是C/C++程序库和Android运行时库。

(1)C/C++程序库

C/C++库来为Android系统提供了重要的特性支持,能被Android系统中的不同组件所使用,并通过应用程序为开发者提供服务。(主要内容如下表所示)

名称

功能描述

Surface Manager

(显示管理器)

Android框架类之一,管理访问显示子系统和多模块应用中无缝整合2D3D的图形

Media Framework

(多媒体库)

支持多种常用的音频、视频格式录制和回放

SQLite(轻量级关系型数据库)

轻型的关系型数据库引擎

OpenGL|ES

(3D绘图函数库)

为便携式或嵌入式设备例如:移动电话、监视器等发展的3D绘图API

FreeType(可移植的字体引擎)

一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等

WebKit

(浏览器引擎)

一个开源浏览器引擎,与之相对应的引擎有GeckoMozilla Firefox 等使用)和Trident(也称MSHTMLIE 使用)

SGL

底层的2D图形渲染引擎

SSL(安全套阶层)

(Secure Sockets Layer)用以保障internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上传输过程中不会被截取及窃听。

Libc

(Linux下的ANSI C的函数库)

从BSD继承来的标准C系统函数库,专门为基于嵌入式Linux的设备定制

(2)Android运行时库

运行时库又分为核心库(Core Libraries),能够允许开发者使用Java语言来编写Android应用。和Dalvik虚拟机(Dalvik Virtual Machine)(5.0系统之后改为ART运行环境),它使得每一个Android应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭

 

3. 应用框架层(Application Framework

应用框架层主要提供了构建应用程序时可能用到的各种API,平时开发应用程序都是调用这一层所提供的API,包括系统的应用。这一层由Java代码编写。(主要内容如下表所示)

名称

功能描述

Activity Manager(活动管理器)

管理各个应用程序生命周期的导航回退功能

Window Manager(窗口管理器)

管理所有开启的窗口程序

Content Providers(内容提供器)

使得不同程序之间可以共享数据

View System(视图系统)

构建应用程序的基本组件

Notification Manager(通知管理器)

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

Package Manager(包管理器)

管理所有安装在Android系统中的应用程序

Telephony Manager(电话管理器)

管理所有的移动设备功能

Resource Manager(资源管理器)

提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等

Location Manager(位置管理器)

提供地理位置及定位服务功能

XMPP Service(XMPP服务)

在线即时交流一个通用的进程,即后台推送服务

 

4. 应用层(Applications

所有安装在手机上的应用程序都属于这一层的,比如系统自带的联系人、短信等程序,或者从你的应用商店上下载的小游戏,当然还包括自己开发的程序。


/*代码注释:这是本人第一次写的学习记录,略有生涩,保证纯真手敲在Word中在上传CSDN中,如果文章含有错别字、知识点错误或者语句不通顺的地方,劳烦各位走过路过的客官指出!小本买卖,您看不了吃亏看不了上当。本人都虚心接受,抓紧更改!

                                                纤蕾*/