Android系统架构
2020-05-10 本文已影响0人
_好好学习
Android系统由上而下可分为五层,分别是:应用层、应用程序框架层、系统运行库层、硬件抽象层、Linux内核层。
应用层(System Apps)
系统内置的应用程序以及非系统级的应用程序都属于应用层,负责与用户进行直接交互。
应用框架层(Java API Framework)
为开发人员提供了开发应用程序所需要的API。这一层由Java代码编写,也称Java Framework。
系统运行库层(Native)
- C/C++程序库
- Android运行时库
- 核心库:提供了Java语言核心的大多数功能
- Dalvik/ART:Dalvik虚拟机中的应用每次运行时,字节码都需要通过即时编译器(Just in time, JIT)转换为机器码,这使得应用的运行效率降低。而在ART中,系统安装应用时会进行一次预编译(Ahead of time, AOT),将字节码预先编译成机器码并存储在本地,应用运行时不需要执行编译,提高了运行效率。
硬件抽象层(HAL)
隐藏了硬件接口细节,为操作系统提供虚拟硬件平台,具有硬件无关性。
Linux内核层(Linux Kernel)
Android的核心系统服务基于Linux内核,在此基础上添加了部分Android专用的驱动。系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。