Android开发-系统结构

前言

Android基于Google经典的四层架构,从下往上依次是Linux内核、系统运行库层、应用程序框架层和应用程序层这四层架构。

结构图

在这里插入图片描述

应用程序

系统内置的应用程序以及非系统级的应用程序都属于应用层,负责与用户进行直接交互,通常都是用Java和kotlin进行开发的,如联系人、电话、浏览器等。

应用程序框架

应用框架层为开发人员提供了开发应用程序所需要的API,我们平常开发应用程序都是调用这一层所提供的API,当然也包括系统应用。这一层是由Java / kotlin代码编写的,可以称为Java/ kotlin Framework。下面来看这一层所提供的主要组件:

名称 功能
Activity Manager(活动管理器) 管理各个应用程序生命周期,以及常用的导航回退功能
Location Manager(位置管理器) 提供地理位置及定位功能服务
Notification Manager(通知管理器) 使得应用程序可以在状态栏中显示自定义的提示信息
Resource Manager(资源管理器) 提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等
Telephony Manager(电话管理器) 管理所有的移动设备功能
Window Manager(窗口管理器) 管理所有开启的窗口程序
Content Provider(内容提供者) 使得不同应用程序之间可以共享数据
View System(视图系统) 构建应用程序的基本组件

系统运行库

从Android系统框架图上可以看出,系统运行库层分为两部分,分别是 C/C++ 程序库和 Android 运行时库。

C/C++程序库

名称 功能
OpenGL ES 3D绘图函数库
Libc 从BSD继承来的标准C系统函数库,专门为基于嵌入式Linux的设备定制
Media Framework 多媒体库,支持多种常用的音频、视频格式录制和回放
SQLite 轻量型的关系型数据库引擎
SGL 底层的2D图形渲染引擎
SSL 安全套接层,是为网络通信提供安全及数据完整性的一种安全协议
FreeType 可移植的字体引擎,它提供统一的接口来访问多种字体格式文件
WebKit 浏览器内核
Display manager 显示管理器

Android 运行时库

运行时库又分为核心库和ART(5.0系统之后,Dalvik虚拟机被ART取代),在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。

Linux内核

Android 的核心系统服务基于Linux 内核,在此基础上添加了部分Android专用的驱动。系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章