Android系统架构简述

1、应用层(System Apps)

系统内置的应用程序以及非系统级的应用程序都是应用层,负责与用户直接进行交互,通常都是用java语言编写。

2、应用框架层(Java API Framework)

提供应用程序所需的API,java语言编写,提供的组件有:

Activity Manager(活动管理器):管理各个应用程序的生命周期,导航回退功能

Location Manager(位置管理器):提供地理位置和定位功能服务

Package Manager(包管理器):管理所有安装在Android系统的应用程序

Notification Manager(通知管理器):让应用程序在状态栏中自定义提示信息

Resource Manager(资源管理器):提供图片、布局文件、颜色文件等

Telephone Manager(电话管理器):管理所有的移动设备功能

Window Manager(窗口管理器):管理所有开启的窗口程序

ContentProvider(内容提供者):使得不同应用程序之间可以共享数据

VIew System(视图系统):构建应用程序的基本组件

3、系统运行库层(Native)

C/C++程序库

OpenGL ES:3D绘图函数库

Libc:从BSD集成来的标准C系统函数库,专门为基于嵌入式Linux的设备定制

Media Framework:多媒体库,支持多种常用的音频、视频格式录制和回放

SQLite: 轻型的关系型数据引擎

SGL:底层的2D图形渲染引擎

SSL:安全套接层,是一种为网络通讯提供安全以及数据完整性的安全协议

FreeType:可一直的字体引擎,它提供统一的接口来访问多种字体格式文件

Android运行时库

运行时库分为核心库和ART,Android5.0之前是Dalvik虚拟机。Dalvik虚拟机(DVM)专为移动设备定制,允许在有限的内存中同时运行多个实例。DVM为JIT(即时编译器),而ART为AOT(预编译)

4、硬件抽象层(HAL)

硬件抽象层是位于操作系统内核与硬件电路之间的接口层,简单来讲,就是将控制硬件的动作放在了硬件抽象层。

5、Linux内核层(Linux Kernel)

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

你可能感兴趣的:(Android系统架构简述)