Android平台架构

参考文章:
平台架构
Android的前世今生
Android 系统架构和应用组件那些事
iOS基于Unix安卓基于Linux 有关系统内核的小知识

从软件分层的角度看,Android平台由应用程序、应用程序框架、Android运行时、系统库,以及Linux内核构成,如下如

Android平台架构_第1张图片
平台架构

一、Android应用框架层

该框架是进行Android开发的基础,开发人员的大部分时间也是在这一层进行的。
应用程序框架的各个部分具体功能如下所列:

  1. Activity Manager:活动管理器。管理所有的应用程序生命周期,以及通常的导航返回栈。
  2. Location Manager:位置管理器。用来提供位置服务。
  3. Package Manager:包管理器。用来进行Android系统内的程序管理。
  4. Notification Manager:通知管理器。使应用程序可以再状态栏应用程序中显示通知信息。
  5. Resource Manager:资源管理器。提供各种资源让应用程序去使用。
  6. Telephony Manager:电话管理器。用来管理所有的移动设备的功能。
  7. Window Manager:窗口管理器。管理所有的窗口程序。
  8. Content Provider:内容提供者。用来让应用程序之间互相存取/分享数据。
  9. View Systerm:视图系统。用来构建应用程序的基本组件。

二、Android Runtime及原生 C/C++ 库

Android Runtime包含两个部分:

  1. ART:参考 ART
  2. 核心库:可提供 Java API 框架使用的 Java 编程语言大部分功能。

原生 C/C++ 库

  • Webkit:这是一套网页浏览器的软件引擎。
  • Libc:提供了一套C库。
  • Media Framework:媒体框架。提供了各种音频、视频的支持。
  • OpenGL ES:3D绘图函数库。
  • SQLite:轻量级的数据库引擎,支持关系数据库的事务等。

三、硬件抽象层 (HAL)

提供音频、蓝牙、相机、传感器等设备硬件功能。

四、Linux 内核

Android平台中的操作系统采用了Linux内核,它包括显示驱动、摄像头驱动、Binder(IPC)驱动、键盘驱动、蓝牙驱动、相机驱动等等以及电源驱动管理。

Linux 内核层是软件与硬件之间的桥梁,我等码农不需要关心内核的底层实现,底层的工作都会由 Google 和手机开发商来完成,如驱动的更新、新硬件驱动的编写等。

你可能感兴趣的:(Android平台架构)