当前位置: 首页 > news >正文

无涯教程-Android - 系统架构

Android操作系统是一堆软件组件,大致分为五个部分和四个主要层,如体系结构图中所示。

Android Architecture

Linux内核

底层是Linux-Linux 3.6,带有大约115个补丁,这在设备硬件之间提供了一定程度的抽象,并且包含所有必需的硬件驱动程序,如摄像头,键盘,显示器等。此外,内核还处理Linux真正擅长的所有事情,如网络和大量设备驱动程序,这消除了与硬件接口的麻烦。

Libraries库

在Linux内核之上,有一组库,包括开放源Web浏览器引擎WebKit,libc,SQLite数据库(用于存储和共享应用程序数据的有用存储库),用于播放和记录音频和视频的库,SSL,负责互联网安全等的类库存

Android Libraries

此类别包含特定于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 Runtime

这是体系结构的第三部分,位于底层的第二层,本部分提供了一个称为 Dalvik虚拟机的关键组件,它是专门为Android设计和优化的Java虚拟机。

Dalvik VM利用Java内在的Linux核心函数,如内存管理和多线程,Dalvik VM使每个Android应用程序可以使用自己Dalvik虚拟机在其自己的进程中运行

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

Application Framework

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

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

  • Activity Manager           -  控制应用程序生命周期和Activity堆栈的各个方面。

  • Content Providers         - 允许应用程序发布数据并与其他应用程序共享数据。

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

  • Notifications Manager  - 允许应用程序向用户显示警报和通知。

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

Android - 系统架构 - 无涯教程网无涯教程网提供Android操作系统是一堆软件组件,大致分为五个部分和四个主要层,如体系结构图中所示...https://www.learnfk.com/android/android-architecture.html

http://www.lryc.cn/news/155652.html

相关文章:

  • await接受成功的promise,失败的promise用try catch
  • 赞奇科技参与华为云828 B2B企业节,云工作站入选精选产品解决方案
  • Docker私有镜像仓库(Harbor)安装
  • 【深入解析spring cloud gateway】06 gateway源码简要分析
  • 2023年行研行业研究报告
  • linux上vscode中.cpp文件中引入头文件.hpp时报错:找不到头文件(启用错误钵形曲线)
  • Sphinx Docstring
  • JVM的故事——虚拟机类加载机制
  • Sentry 是一个开源的错误监控和日志聚合平台-- 通过docker-compose 安装Sentry
  • Redis 7 第六讲 主从模式(replica)架构篇
  • 学习资源记录 =0=
  • Python import包路径管理
  • OB Cloud助力泡泡玛特打造新一代分布式抽盒机系统
  • Linux socket网络编程实战(tcp)实现双方聊天
  • BuhoCleaner for mac:让你的Mac重获新生
  • 陶氏公司将出席2023第二届中国汽车碳中和峰会
  • 【linux命令讲解大全】051.Linux Awk脚本语言中的字段定界符和流程控制
  • Gradle下载安装教程
  • Python 之 match 表达式
  • .NET Framework 微软官方下载地址
  • OpenCV(十四):ROI区域截取
  • Java学习笔记之----I/O(输入/输出)一
  • 介绍GitHub
  • js常用的循环遍历
  • 存量时代的面经
  • Python入门教程 | Python 流程控制语句
  • 力扣:83. 删除排序链表中的重复元素(Python3)
  • iKeyPrime完美解4G信号,可以登录iCloud,有消息通知,支持最新iOS16.6。
  • micro python 编译流程和方法,以及一部分问题解决
  • AI篇-chatgpt基本用法(文心一言也适用)