android五层系统架构,Android 系统架构

Android 系统架构分为五层,从上到下依次是:应用层、应用框架层、系统运行库层、硬件抽象层、Linux内核层

1. 应用层(SystemApps)

这层主要是JAVA开发的,负责与用户交互

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

这层是为开发人员提供了开发应用程序 所需的API,由JAVA编写的,可以称为Java Framework

包括:Activity Manager, Location Manager, Pakage Manager, Notification Manager, Reource Manager,Telephony Manager,Window Manager,Content Provider, View System

3.系统运行库层(Native)

这层分为两个部分:C/C++程序库 和 Android运行时库

C/C++程序库:它能被Android系统中的不同组件所使用,并通过应用程序框架为开发者提供服务,它的主要库有:

OpenGL ES: 3D绘图函数库

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

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

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

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

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

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

Android运行时库:运行时库又分为核心库 和ART(Android5.0系统之后,Dalvik虚拟机被 ART取代)

运行时库:提供了Java语言核心库的大多数功能

ART :它与Dalvilk(DVM)的区别在于:

与JVM相比,Dalvik 虚拟机是专门为移动设备定制的,允许在有限的内存中同时运行多个虚拟机制的实例。

DVM中的应用每次运行时,字节码都需要通过限时编译器转换为机器码,这会使得应用的霆效率低,

ART,系统在安装应用时会进行一次预编译,将字节码先预先编译成机器码,并存储在本地,这样每次运行就不需要执行编译了,运行效率就大大提高

4.硬件抽象层(HAL)

HAL位于操作系统内核与硬件电路之间的接口层,其上目的在于将硬件抽你化,为了保护硬件厂商的知识产权,它隐藏了特定平台的硬件接口细节

5.Linux内核层(Linux Kernel)

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

原文:https://www.cnblogs.com/baizhou168/p/14339684.html

你可能感兴趣的:(android五层系统架构)