参考文章:
平台架构
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 和手机开发商来完成,如驱动的更新、新硬件驱动的编写等。

更多相关文章

  1. Android 布局管理器 之 RelativeLayout&FrameLayout&AbsoluteLay
  2. android中退出当前应用程序的四种方法
  3. Google Android应用开发04 Android应用程序结构
  4. Android应用程序(activity)启动过程(三)API28
  5. 【转】修改Android应用程序的默认最大内存值
  6. Android 如何使Android应用程序获取系统权限

随机推荐

  1. android 开机自动运行程序
  2. android Activity活动周期 Service生命周
  3. 理解 Android(安卓)上的安全性
  4. 美化你的listView
  5. [转]Android异步处理系列文章索引
  6. NDK简单实例
  7. android 定制个性按钮 控件
  8. Head First Android(安卓)Development-笔
  9. Android(安卓)SVG图片解析Demo
  10. Android实现在列表List中显示半透明小窗