Android架构分四层,应用框架系统底层。
1、 先看整体图,这是一张经典架构示意图。
2、 Android系统采用分层设计,由上至下分为四层:应用层、应用框架层、类库与Android运行时层,以及底层的Linux内核层,各层分工明确,协同工作。
3、 Android系统最底层基于Linux内核构建。
4、 Linux系统开源且免费,允许任何人修改。Android正是谷歌基于Linux内核开发的操作系统,其底层核心基本沿用了Linux内核,改动极少。
5、 此处介绍了八种物品,实际不止这些,仅列举部分。
6、 显示驱动:负责控制屏幕图像输出的硬件程序。
7、 摄像头驱动程序,负责硬件与系统通信。
8、 Hash内存驱动是一种用于管理闪存存储的程序组件。
9、 Binder驱动是一种实现进程间通信的核心组件,负责数据传输与交互。
10、 键盘驱动程序,负责处理按键输入信号。
11、 WIFI驱动程序,用于管理无线网络连接。
12、 音频驱动程序,负责管理声音设备。
13、 电源管理功能,优化设备能耗与运行效率。
14、 类库层并非全部由Google开发。
15、 媒体框架:负责音频处理与播放的核心组件。
16、 SQLite是Android系统内置的一种轻量级数据库。
17、 OpenGL ES 是专为移动设备设计的高效图形图像引擎。
18、 字体库:自由使用的字体资源集合。
19、 WebKit是一种主流的浏览器内核,被广泛应用于多种平台,如Android、iPhone和Linux系统中的浏览器,包括早期的IE及其他主流浏览器均采用此内核技术。
20、 SGL是图形图像引擎,但应用广泛程度不及OpenGL|ES。
21、 SSL是一种在TCP/IP协议上实现的安全通信协议。
22、 libc:功能分散的基础库集合。
23、 核心库:系统运行的关键组件。
24、 Dalvrik是一款安卓虚拟机,用于在Linux系统上运行安卓应用,解决安卓程序无法直接在Linux环境运行的问题。
25、 应用框架所在层级
26、 负责管理应用程序界面的系统组件。
27、 窗口管理器负责管理和控制应用程序的窗口布局与行为。
28、 内容提供者是指向平台或用户供应数字内容的个人或机构。
29、 视图系统用于展示和管理界面元素。
30、 包含包管理、通话管理、资源调度、定位服务、通知中心及即时通讯功能。
31、 层。
32、 Android平台向开发者全面开放核心应用的API框架接口。
33、 系统或第三方应用程序。
34、 类库层采用C语言编写,应用框架层则使用Java。直接频繁调用C代码既麻烦又不理想,因此通过应用框架层进行封装和屏蔽,提升开发效率与稳定性。

