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专用 的驱动。系统的安全性、内存管理、进程管理、网络协议和驱动模型等都依赖于内核

 

posted @   白一粥  阅读(480)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 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】
点击右上角即可分享
微信分享提示