- 01.系统框架整体介绍
- 02.Android专用驱动
- 03.HAL硬件抽象层
- 04.Android应用框架
- 05.Android界面架构
- Android系统 = Linux内核 + Android运行时
- Android系统使用的Linux内核包含了一些专用驱动,例如Logger、Binder、Ashmem、Wakelock、Low-Memory Killer和Alarm等
- Android运行时从下到上又包括了HAL层、应用程序框架层和应用程序层。
- HAL层
- 将硬件驱动分成内核空间和用户空间两部分,其中用户空间两部分采用的是商业友好的Apache License。
- 应用程序框架层
- 主要包括系统服务,例如组件管理服务、应用程序安装服务、窗口管理服务、多媒体服务和电信服务等。
- 应用程序层
- 应用程序框架进一步又分为C/C++和Java两个层次,Java代码运行Dalvik虚拟机之上,并且通过JNI方法和C/C++交互。
- 应用程序层主要就是由四大组件Activity、Service、Broadcast Receiver和Content Provider构成,它们是应用开发的基础。
- Logger
- 完全内存操作,适合频繁读写
- image
- Binder
- Client/Server模型;进程间一次数据拷贝;数据安全的传输。
- image
- 设备驱动分为内核空间和用户空间两部分
- 保护厂商利益(出发点)
- 内核空间主要负责硬件访问逻辑(GPL)
- 用户空间主要负责参数和访问流程控制(Apache License)
- 整体架构图
- image
- 窗口管理框架
- Window
- WindowManagerService
- SurfaceFlinger
- image
- 资源管理框架
- AssetManager
- Resources
- image