Android 软件堆栈通常由一个 Linux 内核和一组 C/C++ 库组成,这些库通过提供服务以及应用程序和运行时管理的应用程序框架公开。
Linux内核
Android 是在 Linux 的开源内核上创建的。选择此内核的一个主要原因是它提供了经过验证的核心功能,可在其上开发 Android 操作系统。 Linux内核的特点是:
-
安全:
Linux 内核处理应用程序和系统之间的安全性。
-
内存管理:
它有效地处理内存管理,从而提供开发我们的应用程序的自由。
-
流程管理:
它很好地管理流程,在需要时为流程分配资源。
-
网络堆栈:
它有效地处理网络通信。
-
驱动器型号:
它确保应用程序正常工作。硬件制造商可以将他们的驱动程序构建到 Linux 版本中。
图书馆:
Android 框架运行在内核之上,具有各种功能。它由各种 C/C++ 核心库和众多开源工具组成。其中一些是:
-
安卓运行时:
Android 运行时由Java和 ART(Android 运行时)的核心库组成。较旧版本的 Android(4.x 及更早版本)具有 Dalvik 运行时。
-
打开 GL(图形库):
这种跨语言、跨平台的应用程序接口 (API) 用于生成 2D 和 3D 计算机图形。
-
网络套件:
这个开源 Web 浏览器引擎提供了显示 Web 内容和简化页面加载的所有功能。
-
媒体框架:
这些库允许您播放和录制音频和视频。
-
安全套接字层 (SSL):
这些库用于 Internet 安全。
安卓运行时:
它是架构的第三部分。它提供了称为 Dalvik 虚拟机的关键组件之一。它的作用类似于专为 Android 设计的Java虚拟机。 Android 使用其自己的自定义 VM,旨在确保多个实例在单个设备上高效运行。
Delvik VM 使用设备的底层 Linux 内核来处理低级功能,包括安全性、
线程和内存管理。
应用框架
Android 团队建立在一套已知的、经过验证的库上,在后台构建,所有这些都通过 Android 接口公开。这些接口组合了所有各种库并使它们对开发人员有用。他们不必构建 android 提供的任何功能。其中一些接口包括:
-
活动经理:
它管理活动生命周期和活动堆栈。
-
电话经理:
它提供对电话服务的访问作为相关的订户信息,例如电话号码。
-
查看系统:
它通过处理视图和布局来构建用户界面。
-
地点经理:
它找到设备的地理位置。
应用:
Android 应用程序位于最顶层。在应用层,我们编写的应用程序只安装在这一层。应用程序的示例是游戏、消息、联系人等。