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专用 的驱动。系统的安全性、内存管理、进程管理、网络协议和驱动模型等都依赖于内核
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】