📅  最后修改于: 2021-01-05 04:48:23             🧑  作者: Mango
Android操作系统是一堆软件组件,大致分为五个部分和四个主要层,如体系结构图中所示。
底层是Linux-Linux 3.6,带有大约115个补丁。这提供了设备硬件之间的抽象级别,它包含所有必需的硬件驱动程序,例如摄像头,键盘,显示器等。此外,内核还处理Linux真正擅长的所有事情,例如网络和大量设备驱动程序,这消除了与外围硬件接口的麻烦。
在Linux内核之上,有一组库,包括开放源Web浏览器引擎WebKit,著名的库libc,SQLite数据库(用于存储和共享应用程序数据的有用存储库),用于播放和记录音频和视频的库,SSL。负责互联网安全等的图书馆
该类别包含特定于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++的库。
这是体系结构的第三部分,位于底层的第二层。本部分提供了一个称为Dalvik虚拟机的关键组件,它是专门为Android设计和优化的Java虚拟机。
Dalvik VM利用Linux核心功能,例如内存管理和多线程,这是Java语言所固有的。 Dalvik VM使每个Android应用程序可以使用其自己的Dalvik虚拟机实例在自己的进程中运行。
Android运行时还提供了一组核心库,使Android应用程序开发人员可以使用标准Java编程语言编写Android应用程序。
应用程序框架层以Java类的形式为应用程序提供了许多更高级别的服务。允许应用程序开发人员在其应用程序中使用这些服务。
Android框架包括以下关键服务-
活动管理器-控制应用程序生命周期和活动堆栈的所有方面。
内容提供商-允许应用程序发布数据并与其他应用程序共享数据。
资源管理器-提供对非代码嵌入式资源的访问,例如字符串,颜色设置和用户界面布局。
Notifications Manager-允许应用程序向用户显示警报和通知。
视图系统-用于创建应用程序用户界面的一组可扩展视图。
您将在顶层找到所有Android应用程序。您将只编写要安装在此层上的应用程序。此类应用程序的示例包括通讯录,浏览器,游戏等。