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

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

平台架构

一、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 4.0以上无法收到开机广播
  2. Application Fundamentals
  3. 对AndroidManifest.xml的一点理解
  4. ArcGIS Runtime for Android开发教程V2.0(1)基本概念
  5. android中退出当前应用程序的四种方法
  6. Android系统架构
  7. Simple Guide for Porting Android(安卓)Kernel
  8. Android学习系列之一
  9. Android学习备忘006——Manifest.xml

随机推荐

  1. android批量插入数据效率对比
  2. Android - adb : logcat / shell / app_p
  3. Android中Activity共享变量的另一方法:App
  4. Android实现底部弹出按钮菜单升级版
  5. fastboot 详解
  6. Android系统开发小问题-启动过程中android
  7. android之有返回结果跳转intent
  8. 利用drozer进行Android渗透测试 - AndroS
  9. Android(安卓)Https 双向认证
  10. Android中手机震动(Vibrator)