#yyds干货盘点#Android简介Android专题1

一年好景君须记,最是橙黄橘绿时。这篇文章主要讲述#yyds干货盘点#Android简介Android专题1相关的知识,希望能为你提供帮助。
android简介Android是一个基于??Linux内核???与其他??开源软件???的??开放源代码???的??移动操作系统???,由??谷歌???成立的??开放手持设备联盟??持续领导与开发。
Android Inc.于2003年10月由??安迪·鲁宾???、??利奇·米纳尔???、??尼克·席尔斯???、??克里斯·怀特???在??加州????帕罗奥图???创建。Android最初由??安迪·鲁宾???等人开发制作,最初开发这个系统的早期方向是创建一个??数字相机???的先进操作系统,但是后来发现相机市场规模不够大,加上智能手机发展趋势快速成长,于是Android成为一款面向智能手机的操作系统。于2005年7月11日Android Inc.被??美国???科技企业Google收购[??15]???[??16]??。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立??开放手持设备联盟???来共同研发Android,随后,Google以??Apache免费开放源代码许可证??的授权方式,发布了Android的源代码,开放源代码加速了Android普及,让生产商推出搭载Android的智能手机,Android后来更逐渐拓展到平板电脑及其他领域上
2010年末数据显示,仅正式推出两年的Android操作系统在市场占有率上已经超越称霸逾十年的??诺基亚????Symbian??系统,成为全球第一大智能手机操作系统
在2014年??Google I/O??开发者大会上Google宣布过去30天里有10亿台活跃的Android设备,相较于2013年6月则是5.38亿
2017年3月,Android全球网络流量和设备超越??Microsoft Windows??,正式成为全球第一大操作系统
截至2021年8月,根据??StatCounter???统计,除了美国、加拿大、挪威、瑞典、丹麦、瑞士、科索沃、日本、台湾和澳大利亚外,其他所有国家和地区都把Android作为首选??智能手机??操作系统
平台架构Android大致可以分为4层架构:Linux内核层、系统运行库层、应用框架层和应用层。
??
目前已经是android11,android12预览版也已上线
Android 11 可让您轻松搞定重要事务。该操作系统会根据您使用手机的方式进行优化,能够把您的手机变成强大的家居设备控制器,还能让您更轻松地管理对话、隐私设置等。
Android 11 的亮点

  • 对话
  • 内容截取
  • 有联想功能的工具
  • 无障碍功能
  • 设备控制器
  • 隐私权与安全
  • 支持 Android 11 的手机
接下来就让我们了解一下Android的系统架构
Linux 内核 Android 平台的基础是 Linux 内核。例如,??Android Runtime (ART)?? 依靠 Linux 内核来执行底层功能,例如线程和低层内存管理。
显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。
硬件抽象层 (HAL) ??硬件抽象层 (HAL)??? 提供标准界面,向更高级别的 ??Java API 框架???显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如??相机???或??蓝牙??模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。
Android Runtime 对于运行 Android 5.0(API 级别 21)或更高版本的设备,每个应用都在其自己的进程中运行,并且有其自己的 ??Android Runtime (ART)??? 实例。ART 编写为通过执行 DEX 文件在低内存设备上运行多个虚拟机,DEX 文件是一种专为 Android 设计的字节码格式,经过优化,使用的内存很少。编译工具链(例如 ??Jack??)将 java 源代码编译为 DEX 字节码,使其可在 Android 平台上运行。
ART 的部分主要功能包括:
  • 预先 (AOT) 和即时 (JIT) 编译
  • 优化的垃圾回收 (GC)
  • 在 Android 9(API 级别 28)及更高版本的系统中,支持将应用软件包中的 ??Dalvik Executable 格式 (DEX) 文件转换为更紧凑的机器代码??。
  • 更好的调试支持,包括专用采样分析器、详细的诊断异常和崩溃报告,并且能够设置观察点以监控特定字段
在 Android 版本 5.0(API 级别 21)之前,Dalvik 是 Android Runtime。如果您的应用在 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??? 直接从原生代码访问某些??原生平台库??。
这一层通过一些C/C++库为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在这一层还有Android运行时库,它主要提供了一些核心库,允许开发者使用Java语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境),它使得每一个 Android应用都能运行在独立的进程中,并且拥有一个自己的虚拟机实例。相较于Java虚拟机,Dalvik和 ART都是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。
Java API 框架 您可通过以 Java 语言编写的 API 使用 Android OS 的整个功能集。这些 API 形成创建 Android 应用所需的构建块,它们可简化核心模块化系统组件和服务的重复使用,包括以下组件和服务:
  • 丰富、可扩展的??视图系统??,可用以构建应用的 UI,包括列表、网格、文本框、按钮甚至可嵌入的网络浏览器
  • ??资源管理器??,用于访问非代码资源,例如本地化的字符串、图形和布局文件
  • ??通知管理器??,可让所有应用在状态栏中显示自定义提醒
  • ??Activity 管理器???,用于管理应用的生命周期,提供常见的??导航返回栈??
  • ??内容提供程序??,可让应用访问其他应用(例如“联系人”应用)中的数据或者共享其自己的数据
开发者可以完全访问 Android 系统应用使用的??框架 API??。
系统应用 Android 随附一套用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用。平台随附的应用与用户可以选择安装的应用一样,没有特殊状态。因此第三方应用可成为用户的默认网络浏览器、短信 Messenger 甚至默认键盘(有一些例外,例如系统的“设置”应用)。
系统应用可用作用户的应用,以及提供开发者可从其自己的应用访问的主要功能。例如,如果您的应用要发短信,您无需自己构建该功能,可以改为调用已安装的短信应用向您指定的接收者发送消息。
应用框架层这一层主要提供了构建应用程序时可能用到的各种 API,Android自带的一些核心应用就是使用这些API完成的,开发者可以使用这些API来构建自己的应用程序。
最后列出android版本列表,大家可以去查看最新的数据。
??https://developer.android.google.cn/about/versions??
Android简介Android是一个基于??Linux内核???与其他??开源软件???的??开放源代码???的??移动操作系统???,由??谷歌???成立的??开放手持设备联盟??持续领导与开发。Android Inc.于2003年10月由?


??安迪·鲁宾???、??利奇·米纳尔???、??尼克·席尔斯???、??克里斯·怀特???在??加州????帕罗奥图???创建。Android最初由??安迪·鲁宾???等人开发制作,最初开发这个系统的早期方向是创建一个??数字相机???的先进操作系统,但是后来发现相机市场规模不够大,加上智能手机发展趋势快速成长,于是Android成为一款面向智能手机的操作系统。于2005年7月11日Android Inc.被??美国???科技企业Google收购??[15\\]????[16\\]??。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立?


??开放手持设备联盟???来共同研发Android,随后,Google以??Apache免费开放源代码许可证??的授权方式,发布了Android的源代码,开放源代码加速了Android普及,让生产商推出搭载Android的智能手机,Android后来更逐渐拓展到平板电脑及其他领域上2010年末数据显示,仅正式推出两年的Android操作系统在市场占有率上已经超越称霸逾十年的?


??诺基亚????Symbian??系统,成为全球第一大智能手机操作系统在2014年?


??Google I/O??开发者大会上Google宣布过去30天里有10亿台活跃的Android设备,相较于2013年6月则是5.38亿2017年3月,Android全球网络流量和设备超越?


??Microsoft Windows??,正式成为全球第一大操作系统截至2021年8月,根据?


??StatCounter???统计,除了美国、加拿大、挪威、瑞典、丹麦、瑞士、科索沃、日本、台湾和澳大利亚外,其他所有国家和地区都把Android作为首选??智能手机??操作系统
平台架构Android大致可以分为4层架构:Linux内核层、系统运行库层、应用框架层和应用层。

目前已经是android11,android12预览版也已上线Android 11 可让您轻松搞定重要事务。该操作系统会根据您使用手机的方式进行优化,能够把您的手机变成强大的家居设备控制器,还能让您更轻松地管理对话、隐私设置等。
Android 11 的亮点
  • 对话
  • 内容截取
  • 有联想功能的工具
  • 无障碍功能
  • 设备控制器
  • 隐私权与安全
  • 支持 Android 11 的手机
接下来就让我们了解一下Android的系统架构
Linux 内核Android 平台的基础是 Linux 内核。例如,??Android Runtime (ART)?? 依靠 Linux 内核来执行底层功能,例如线程和低层内存管理。显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。
硬件抽象层 (HAL)??硬件抽象层 (HAL)??? 提供标准界面,向更高级别的 ??Java API 框架???显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如??相机???或??蓝牙??模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。
Android Runtime对于运行 Android 5.0(API 级别 21)或更高版本的设备,每个应用都在其自己的进程中运行,并且有其自己的 ??Android Runtime (ART)??? 实例。ART 编写为通过执行 DEX 文件在低内存设备上运行多个虚拟机,DEX 文件是一种专为 Android 设计的字节码格式,经过优化,使用的内存很少。编译工具链(例如 ??Jack??)将 Java 源代码编译为 DEX 字节码,使其可在 Android 平台上运行。ART 的部分主要功能包括:
  • 预先 (AOT) 和即时 (JIT) 编译
  • 优化的垃圾回收 (GC)
  • 在 Android 9(API 级别 28)及更高版本的系统中,支持将应用软件包中的 ??Dalvik Executable 格式 (DEX) 文件转换为更紧凑的机器代码??。
  • 更好的调试支持,包括专用采样分析器、详细的诊断异常和崩溃报告,并且能够设置观察点以监控特定字段
在 Android 版本 5.0(API 级别 21)之前,Dalvik 是 Android Runtime。如果您的应用在 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??? 直接从原生代码访问某些??原生平台库??。这一层通过一些C/C++库为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。 在这一层还有Android运行时库,它主要提供了一些核心库,允许开发者使用Java语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境),它使得每一个 Android应用都能运行在独立的进程中,并且拥有一个自己的虚拟机实例。相较于Java虚拟机,Dalvik和 ART都是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。
Java API 框架您可通过以 Java 语言编写的 API 使用 Android OS 的整个功能集。这些 API 形成创建 Android 应用所需的构建块,它们可简化核心模块化系统组件和服务的重复使用,包括以下组件和服务:
  • 丰富、可扩展的??视图系统??,可用以构建应用的 UI,包括列表、网格、文本框、按钮甚至可嵌入的网络浏览器
  • ??资源管理器??,用于访问非代码资源,例如本地化的字符串、图形和布局文件
  • ??通知管理器??,可让所有应用在状态栏中显示自定义提醒
  • ??Activity 管理器???,用于管理应用的生命周期,提供常见的??导航返回栈??
  • ??内容提供程序??,可让应用访问其他应用(例如“联系人”应用)中的数据或者共享其自己的数据
开发者可以完全访问 Android 系统应用使用的??框架 API??。
系统应用Android 随附一套用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用。平台随附的应用与用户可以选择安装的应用一样,没有特殊状态。因此第三方应用可成为用户的默认网络浏览器、短信 Messenger 甚至默认键盘(有一些例外,例如系统的“设置”应用)。系统应用可用作用户的应用,以及提供开发者可从其自己的应用访问的主要功能。例如,如果您的应用要发短信,您无需自己构建该功能,可以改为调用已安装的短信应用向您指定的接收者发送消息。
应用框架层【#yyds干货盘点#Android简介Android专题1】这一层主要提供了构建应用程序时可能用到的各种 API,Android自带的一些核心应用就是使用这些API完成的,开发者可以使用这些API来构建自己的应用程序。最后列出android版本列表,大家可以去查看最新的数据。??https://developer.android.google.cn/about/versions??

    推荐阅读