图 1. Android 软件堆栈。
Linux内核
Android 平台的基础是 Linux 内核。 例如,Linux 内核依赖于执行低级功能3D动画,例如线程和低级内存管理。
使用 Linux 内核使 Android 能够利用关键的安全功能,并允许设备制造商为著名的内核开发硬件驱动程序。
硬件抽象层 (HAL)
硬件抽象层 (HAL) 为更高级别的显示设备硬件功能提供标准接口。 HAL 由多个库模块组成,每个库模块都实现特定类型硬件组件(例如相机或蓝牙模块)的接口。 当框架 API 需要访问设备硬件时安卓游戏开发培训,Android 系统会加载该硬件组件的库模块。
安卓运行时
对于运行 Android 5.0(API 级别 21)或更高版本的设备,每个应用程序都在自己的进程中运行,并拥有自己的 Android 运行时 (ART) 实例。 ART 旨在通过执行 DEX 文件在低内存设备上运行多个虚拟机游戏素材下载 免费,DEX 文件是一种专门为 Android 设计的字节码格式,并经过优化以使用很少的内存。 编译工具链(如Jack)将Java源代码编译为DEX字节码,使其可在Android平台上运行。
ART 的一些主要功能包括:
在 Android 版本 5.0(API 级别 21)之前,Dalvik 是 Android 运行时。 如果您的应用程序在 ART 上运行良好,它也应该在 Dalvik 上运行,但不一定相反。
Android 还包含一组核心运行时库,这些库提供 Java API 框架使用的 Java 编程语言的大部分功能,包括一些 Java 8 语言功能。
原生 C/C++ 库
许多核心 Android 系统组件和服务(例如 ART 和 HAL)都是从本机代码构建的,需要用 C 和 C++ 编写的本机库。 Android 平台提供 Java 框架 API 来向应用程序公开其某些本机库的功能。 例如,您可以通过 Android 框架的 Java OpenGL API 访问 OpenGL ES,以支持在应用程序中绘制和操作 2D 和 3D 图形。
如果您正在开发需要 C 或 C++ 代码的应用程序,则可以使用 Android NDK 直接从本机代码访问某些本机平台库。
Java API框架
您可以通过 Java 语言编写的 API 使用 Android 操作系统的整个功能集。 这些 API 构成了创建 Android 应用程序所需的构建块,并且简化了核心模块化系统组件和服务的重用,包括:
开发人员可以完全访问Android系统应用程序使用的框架API。
系统应用
Android 附带了一组用于电子邮件、短信、日历、互联网浏览、联系人等的核心应用程序。 平台附带的应用程序就像用户可以选择安装的应用程序一样安卓游戏开发培训,没有特殊状态。 因此,第三方应用程序可以成为用户的默认网络浏览器、短信、甚至默认键盘(有一些例外,例如系统的“设置”应用程序)。
系统应用程序充当用户的应用程序,并提供开发人员可以从自己的应用程序访问的关键功能。 例如,如果您的应用程序发送短信,您不需要自己构建该功能; 您可以改为调用已安装的短信应用程序将消息发送给您指定的收件人。
文章来源:https://developer.android.google.cn/guide/platform?hl=zh-cn