Android体系结构包含不同数量的组件,可支持任何android设备需求。 Android软件包含一个开放源代码Linux Kernel,该内核具有通过应用程序框架服务公开的许多C / C++库的集合。
在所有组件中,Linux内核为智能手机提供了操作系统功能的主要功能,而Dalvik虚拟机(DVM)为运行android应用程序提供了平台。
android体系结构的主要组件如下:-
- 应用领域
- 应用框架
- Android执行阶段
- 平台库
- Linux内核
具有几个主要组件及其子组件的android体系结构的图片表示形式–
应用–
应用程序是android体系结构的顶层。预先安装的应用程序(例如家庭,联系人,照相机,画廊等)以及从Play商店下载的第三方应用程序(例如聊天应用程序,游戏等)将仅安装在此层上。
借助应用程序框架提供的类和服务,它可以在Android运行时内运行。
应用框架–
Application Framework提供了几个重要的类,这些类用于创建Android应用程序。它为硬件访问提供了通用的抽象,还有助于管理带有应用程序资源的用户界面。通常,它为服务提供了帮助,我们可以创建一个特定的类并使该类对应用程序的创建有所帮助。
它包括不同类型的服务活动管理器,通知管理器,视图系统,程序包管理器等,这些根据先决条件有助于开发我们的应用程序。
应用程序运行时–
Android Runtime环境是Android最重要的部分之一。它包含核心库和Dalvik虚拟机(DVM)之类的组件。主要是,它为应用程序框架提供了基础,并在核心库的帮助下为我们的应用程序提供了动力。
与Java虚拟机(JVM)一样, Dalvik虚拟机(DVM)是基于寄存器的虚拟机,并且为android专门设计和优化,以确保设备可以有效地运行多个实例。它依赖于Linux内核层的线程和低级内存管理。核心库使我们能够使用标准Java或Kotlin编程语言来实现android应用程序。
平台库–
平台库包括各种C / C++核心库和基于Java的库,例如Media,Graphics,Surface Manager,OpenGL等,以提供对android开发的支持。
- 媒体库提供了播放和录制音频和视频格式的支持。
- 表面管理器负责管理对显示子系统的访问。
- SGL和OpenGL都是跨语言,跨平台的应用程序接口(API),用于2D和3D计算机图形。
- SQLite提供数据库支持,而FreeType提供字体支持。
- Web-Kit这个开源的Web浏览器引擎提供了显示Web内容和简化页面加载的所有功能。
- SSL(安全套接字层)是用于在Web服务器和Web浏览器之间建立加密链接的安全技术。
Linux内核–
Linux内核是android体系结构的核心。它管理运行时所需的所有可用驱动程序,例如显示驱动程序,相机驱动程序,蓝牙驱动程序,音频驱动程序,内存驱动程序等。
Linux内核将在设备硬件和android体系结构的其他组件之间提供一个抽象层。它负责内存,电源,设备等的管理。
Linux内核的功能包括:
- 安全性: Linux内核处理应用程序和系统之间的安全性。
- 内存管理:它有效地处理了内存管理,从而提供了开发我们的应用程序的自由。
- 流程管理:它可以很好地管理流程,并在需要时为流程分配资源。
- 网络堆栈:它有效地处理网络通信。
- 驱动程序模型:它确保应用程序在负责将其驱动程序构建到Linux构建中的设备和硬件制造商上正常运行。