Android - 架构
Android 操作系统是一堆软件组件,大致分为五个部分和四个主要层,如下图所示的架构图。
Linux 内核
底层是 Linux - Linux 3.6,大约有 115 个补丁。 这提供了设备硬件之间的抽象级别,它包含所有基本的硬件驱动程序,如相机、键盘、显示器等。此外,内核处理 Linux 真正擅长的所有事情,如网络和大量设备驱动程序 ,从而减轻了与外围硬件接口的痛苦。
库
在 Linux 内核之上有一组库,包括开源 Web 浏览器引擎 WebKit、众所周知的库 libc、用于存储和共享应用程序数据的有用存储库 SQLite 数据库、用于播放和录制音频和 视频、负责互联网安全的 SSL 库等。
Android 库
此类别包含那些特定于 Android 开发的基于 Java 的库。 除了那些便于用户界面构建、图形绘制和数据库访问的库之外,此类别中的库示例还包括应用程序框架库。 Android开发者可用的一些关键的Android核心库总结如下−
android.app − 提供对应用程序模型的访问,是所有 Android 应用程序的基石。
android.content − 促进应用程序和应用程序组件之间的内容访问、发布和消息传递。
android.database − 用于访问内容提供者发布的数据,包括 SQLite 数据库管理类。
android.opengl − OpenGL ES 3D 图形渲染 API 的 Java 接口。
android.os − 为应用程序提供对标准操作系统服务的访问,包括消息、系统服务和进程间通信。
android.text − 用于在设备显示屏上呈现和操作文本。
android.view − 应用程序用户界面的基本构建块。
android.widget − 丰富的预构建用户界面组件集合,例如按钮、标签、列表视图、布局管理器、单选按钮等。
android.webkit − 一组旨在允许将 Web 浏览功能内置到应用程序中的类。
在介绍了 Android 运行时中基于 Java 的核心库之后,现在是时候将注意力转向 Android 软件堆栈这一层中包含的基于 C/C++ 的库了。
Android Runtime
这是架构的第三部分,可在底部的第二层中使用。 本节提供了一个名为 Dalvik Virtual Machine 的关键组件,它是一种专门为 Android 设计和优化的 Java 虚拟机。
Dalvik VM 利用了 Java 语言中固有的内存管理和多线程等 Linux 核心特性。 Dalvik VM 使每个 Android 应用程序都可以在自己的进程中运行,并具有自己的 Dalvik 虚拟机实例。
Android 运行时还提供一组核心库,使 Android 应用程序开发人员能够使用标准 Java 编程语言编写 Android 应用程序。
应用框架
应用程序框架层以 Java 类的形式为应用程序提供许多更高级别的服务。 允许应用程序开发人员在他们的应用程序中使用这些服务。
Android 框架包括以下关键服务 −
活动管理器 − 控制应用程序生命周期和活动堆栈的所有方面。
内容提供者 − 允许应用程序发布和与其他应用程序共享数据。
资源管理器 − 提供对非代码嵌入式资源的访问,例如字符串、颜色设置和用户界面布局。
通知管理器 − 允许应用程序向用户显示警报和通知。
视图系统 − 一组可扩展的视图,用于创建应用程序用户界面。
应用程序
您会在顶层找到所有 Android 应用程序。 您将编写仅安装在该层上的应用程序。 此类应用程序的示例包括通讯录、浏览器、游戏等。