Android 系统在google官网被划分为:五层。记载一下五层分别的的作用,如下图:
nd从最底层开始 :
1.Linux Kernel (Linux 系统内核):
Android 平台的基础是 Linux 内核。例如,android Runtime 依靠 Linux 内核来执行底层功能,例如线程和低层内存管理。
1.1 Audio
声音驱动
1.2Binder(IPC)
进程间通讯 ,IPC是Inter-Process-Communication的缩写,意思是进程间通信或者跨进程通信
1.3Display
显示驱动
1.4 Keypad
键盘驱动
1.5Bluetooth
蓝牙设备驱动
1.6Camera
摄像头,相机驱动
1.7Shared Memory
共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式
1.8USB
usb设备驱动
1.9WIFI
WIFI设备驱动
1.10 power management
电源设备管理驱动
2.HAL Hardware Abstraction Layer(硬件抽象层)
硬件抽象层。由于部分硬件厂商不想把自己的核心代码公开,如果把代码放在内核空间里就需要遵循GUN License,会损害厂家的利益。所以,Google为了响应厂家在Android的架构里提出HAL的概念,把对硬件的支持分为用户空间和内核空间,而HAL层就属于这里面的用户空间,该部分代码遵循Apache License,所以厂家可以把核心的代码实现在HAL层,无需对外开放源代码。
2.1 Audio
声音硬件驱动
2.2 bluetooth
蓝牙设备驱动
2.3Camera
摄像功能驱动
2.4Sensoer
设备传感器驱动
3.Native C++ LIbrarices
c++接口库
3.1 webkit
浏览器内核
3.2 OpenMAX AL
开放多媒体加速层
3.3libC
C接口架包
3.4Media Frameworks
多媒体架构
3.5 OpenGL ES
OpenGL(Open Graphics Library)定义了一个跨编程语言、跨平台编程的专业图形程序接口。可用于二维或三维图像的处理和渲染,它是一个功能强大、调用方便的底层图形库
4.Android Runtime
( ART) 是Google Android平台上新的Java运行时环境,是Dalvik VM的替代品。
5.Java API FrameWork
java api 框架
5.1Content provider
内容提供者,是不同应用程序之间进行数据交换的标准API.
5.2View System
界面系统
5.3Manages
activity location pakeage notification resources telephony windows
6.System Application
系统应用 就是各种基于android 系统运行的应用
大部分 基于android 程序员的开发适用在5,6 层开发。
网友评论