Android架构


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运行时

这是架构的第三部分,可从底部的第二层获得。本节提供了一个名为 Dalvik Virtual Machine 的关键组件,它是一种专为Android设计和优化的Java虚拟机。

Dalvik VM利用Linux核心功能,如内存管理和多线程,这是Java语言中固有的。Dalvik VM使每个Android应用程序都可以在自己的进程中运行,并拥有自己的Dalvik虚拟机实例。

Android运行时还提供了一组核心库,使Android应用程序开发人员能够使用标准Java编程语言编写Android应用程序。

应用框架

Application Framework层以Java类的形式为应用程序提供许多更高级别的服务。允许应用程序开发人员在其应用程序中使用这些服务。

Android框架包括以下关键服务 -

  • 活动管理器 - 控制应用程序生命周期和活动堆栈的所有方面。

  • 内容提供商 - 允许应用程序与其他应用程序一起发布和共享数据。

  • 资源管理器 - 提供对非代码嵌入资源的访问,例如字符串,颜色设置和用户界面布局。

  • 通知管理器 - 允许应用程序向用户显示警报和通知。

  • View System - 用于创建应用程序用户界面的可扩展视图集。

应用

您将在顶层找到所有Android应用程序。您将编写要在此层上安装的应用程序。此类应用程序的示例是联系人书籍,浏览器,游戏等。