Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。甜点命名法开始于Android 1.5发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕(Android 1.5),甜甜圈(Android 1.6),松饼(Android 2.0/2.1),冻酸奶(Android 2.2),姜饼(Android 2.3),蜂巢(Android 3.0),冰激凌三明治(Android 4.0),果冻豆(Jelly Bean,Android4.1和Android 4.2),奇巧(KitKat,Android 4.4),棒棒糖(Lollipop,Android 5.0),棉花糖(Marshmallow,Android 6.0),牛轧糖(Nougat,Android 7.0),奥利奥(Oreo,Android 8.0),派(Pie,Android 9.0)

从Android 10开始,Android不会再按照基于美味零食或甜点的字母顺序命名,而是转换为版本号,就像Windows和iOS系统一样。

从 Android 10 开始,Google 开始提供系统级的黑暗模式,大部分预装应用、抽屉、设置菜单和 Google Feed 资讯流等界面和按钮,都会变成以黑色为主色调,就和你在 macOS Mojave 中看到的暗色界面一样。

谷歌宣布Android系统的重大改变,不仅换了全新的logo,命名方式也变了,今年的Android Q的正式名称是Android 10

【百度百科】 

android 标记为系统应用 安卓的标记_API

本次大会正式推出新版本的安卓操作系统Android 10。实际上在本次开发者大会召开一周前,谷歌高级安卓产品经理Stephanie Cuthbertson已经在安卓开发者公众号上宣布了这个消息。

Cuthbertson表示,新推出的Android 10聚焦移动创新、安全隐私和数字健康三大主题,全面打造最佳用户体验。

在移动创新上,Android 10的几大亮眼新特性包括:

对5G网络的强大支持:Android10 提供 5G 平台支持,对现有 API 进行扩展,更好地帮助开发者利用 5G 技术推动应用创新;

android 10系统支持APP回滚,也就是说用户在更新了APP之后发现不好用,可以返回到历史版本;

通知中的智能回复: 利用设备内置机器学习技术,在通知中显示与当下场景相关的建议操作,例如消息智能回复,或者当通知中包含地址信息时,建议用户开启地图应用。


android 标记为系统应用 安卓的标记_Android_02

智能回复功能会根据通知内容向用户提供建议操作

 

官方深色主题: Android 10添加了系统全局深色主题,让用户可以在光线较暗的环境中更轻松的使用设备,并且大幅度减少设备耗电量。


android 标记为系统应用 安卓的标记_新特性_03

深色主题背景下的 Google Keep

 

手势导航: 启用后,原有的底部导航栏设计会消失,让应用真正实现全屏显示。


android 标记为系统应用 安卓的标记_android 10_04

手势导航允许应用全屏显示内容

 

在隐私保护、数据安全和网络性能上,Android 10也作出多项改进和更新,主要有以下几方面:

给予用户更多地理位置控制: 为了提高用户的可控性,用户可以通过一个全新的地理位置权限,仅允许正在被使用的应用 (运行在前台) 访问设备位置信息。

防止设备追踪: 为了防止应用追踪设备,Android10 不允许一般应用访问 IMEI 码、序列号等不可重置的设备识别号。

P2P 及网络连接优化: 在 Android 10 中,我们对 Wi-Fi 堆栈进行了重构,这不仅提升了应用在隐私及性能方面的表现,而且对许多常见用例也有一定的优化,

Wi-Fi 性能模式: Android10 允许应用启用高性能、低延迟的自适应 Wi-Fi 模式,这样一来,即使是在网络延迟比较敏感的场景下,如实时游戏、音频通话等,应用依旧能保障流畅的用户体验。在性能模式下,Android 平台将配合设备固件协同工作,实现最低能耗。

照片的动态深度:

应用程序现在可以请求动态深度图像,该图像由与深度相关元素相关的JPEG,XMP元数据以及嵌入在同一文件中的深度和置信度图组成。这些可让您在应用中提供专业的模糊和散景选项。Dynamic Depth是 生态系统的开放格式,我们正在与合作伙伴合作,将其引入运行Android 10及更高版本的设备。

android 标记为系统应用 安卓的标记_Android_05

音频的获取与播放

现在,任何播放音频的应用都可以让其他应用使用新的音频播放捕获API捕获其音频流 。除了启用字幕和字幕外,API还允许您支持流媒体游戏等流行用例。我们在构建此新功能时考虑到了隐私和版权保护,因此应用程序捕获其他应用程序音频的能力受到限制,使应用程序可以完全控制是否可以捕获其音频流。阅读此 博客文章中的更多内容。

新增音频 视频解码器

Android 10增加了对开源视频编解码器 AV1的支持,允许媒体提供商使用更少的带宽将高质量的视频内容传输到Android设备。此外,Android 10支持使用Opus的音频编码 - 一种针对语音和音乐流优化的开放式免版税编解码器 - 以及 支持它的设备上的高动态范围视频的HDR10 +。该MediaCodecInfo API 引入了一个更简单的方法来确定视频渲染的Android设备的能力。对于任何给定的编解码器,您可以获得支持的大小和帧速率列表。

引入原生 MIDI API

对于使用C ++执行音频处理的应用程序,Android 10引入了 原生MIDI API,通过NDK与MIDI设备进行通信。此API允许使用非阻塞读取在音频回调内检索MIDI数据,从而实现MIDI消息的低延迟处理。试试这里的示例应用程序和 源代码。

客制化麦克风

Android 10通过新的MicrophoneDirection API为您提供对音频捕获的更多控制 。您可以使用 API 在录制音频时指定麦克风的首选方向。例如,当用户拍摄“自拍”视频时,您可以请求前置麦克风进行录音(如果存在)。此外,该API引入了一种控制可缩放麦克风的标准化方法,允许您的应用程序控制记录字段维度。

随处可用的Vulkan

Android 10 通过 我们为高性能3D图形实现低开销,跨平台API,扩展了Vulkan的影响。Vulkan 1.1现在是运行Android 10及更高版本的所有64位设备的要求,并且建议所有32位设备使用。我们已经看到生态系统中Vulkan支持的重要动力 - 在运行Android N或更高版本的设备中,53%支持Vulkan 1.0.3或更高版本。随着Android 10的新要求,我们预计未来一年的采用率将进一步提升。

Android 基础

ART 优化

ART运行时的改进可以帮助您的应用程序更快地启动,消耗更少的内存,并且运行更顺畅 - 无需您的任何工作。Google Play提供的ART配置文件允许ART在应用程序运行之前预编译部分应用程序。在运行时,Android 10为ART的并发复制(CC)垃圾收集器添加了Generational Garbage Collection,使垃圾收集在时间和CPU方面更加高效,减少了垃圾收集,并帮助应用程序在低端设备上更好地运行。

android 标记为系统应用 安卓的标记_android 标记为系统应用_06

神经网络API 支持V1.2

我们增加了60个新操作,包括ARGMAX,ARGMIN,量化LSTM,以及一系列性能优化。这为加速更大范围的模型奠定了基础 - 例如用于物体检测和图像分割的模型。我们正在与硬件供应商和流行的机器学习框架(如 TensorFlow)合作,以优化和推出对NNAPI 1.2的支持。

温度监测 API

当设备过热时,它们可能会限制CPU和/或GPU,这会以意想不到的方式影响应用和游戏。现在,在Android 10中,应用和游戏可以使用温度监测API 来监控设备上的更改,并采取措施帮助恢复正常温度。例如,流式应用可以降低分辨率/比特率或网络流量,相机应用可以禁用闪光或强化图像增强,或者游戏可以降低帧速率或多边形细分。在这里阅读更多。

兼容 公共API 接口

Android 10继续扩展对非SDK接口的限制,因此应用程序逐渐转向仅使用公共API。如果您当前使用的接口受到限制,则可以为该接口请求新的公共API 。为了帮助您进行转换并防止您的应用被破坏,我们仅在您的应用定位到Android 10(API 29)时启用限制。有关限制的更多详细信息,请参阅 开发人员指南。

更新更快,新鲜出炉的Code

Android 10专为通过Project Treble进行更快速更新而构建,可在Android与设备制造商和芯片制造商的底层设备代码之间提供一致,可测试的界面。通过Treble,设备制造商可以更快速,更低成本地将Android 10带入符合Treble标准的设备。

Android 10也是第一个支持Project Mainline (官方称为Google Play系统更新)的版本,这是我们用于保护Android用户并通过重要代码更改保持设备新鲜的新技术 - 直接来自Google Play。借助Google Play系统更新,我们可以在运行Android 10及更高版本的所有设备上更新特定的内部组件,而无需设备制造商进行完整的系统更新。

对于开发人员,我们希望Android 10中的这些更新有助于推动各种设备之间的平台实施的一致性,并且随着时间的推移带来更大的一致性,这将降低您的开发和测试成本。

TensorFlow 2.0,更直观、更强大、更灵活

本次GDD,TensorFlow 2.0依然是重头戏。TensorFlow亚太区产品经理梁信屏展开了《机器学习的现在和未来》的分享,并把 TensorFlow 目前的家底透露了一遍:从 2015 年发布以来,达到了 4100 万的下载,超过 5 万次提交量,9900 次代码改动请求,以及 1800 多位贡献者。目前围绕TensorFlow已经构建起一个庞大的生态,TensorFlow也成为最成功的机器学习平台。

android 标记为系统应用 安卓的标记_Android_07

TensorFlow 2.0 代码和 NumPy 很像,二者也可以很容易的相互置换对象。开发者也不用为 placeholders、Sessions 以及 feed_dictionaties 等伤脑筋了。

2.0 版本围绕易用性、高性能、可扩展,三个方面进行了升级。下面我们列举一些主要的升级方面:

即时执行(Eager Execution)变为默认模式

1.0时代创建一个神经网络代码如下:

android 标记为系统应用 安卓的标记_android 标记为系统应用_08

但是到了2.0时代就变成了:

API 清理和初级API

像 TensorFlow.gans、TensorFlow.App、TensorFlow.contrib 以及 TensorFlow.flags 等很多 API,要么被直接移除,要么就是转移到单独的库。

在 TensorFlow 1.x 中不止一种方法来创建和训练 ML 模型。而大多数时候,开发者都不是很清楚应该在什么情况下使用哪个 API。而且一旦使用了其中一种 API 训练模型,接下来就很难再切换到别的 API 了。

所以在TensorFlow 2.0 中,TensorFlow.keras 是推荐使用的高级 API。

初级API从 TensorFlow 1.x 到 2.0,没有发生太大的改变。通过 pip 来安装 TensorFlow 的时候,一般会得到完整的 Keras API 以及一些额外的函数工具集。

定义训练循环

在 TensorFlow 2.0 中,训练模型最简单的方法是使用 fit 方法,它同时支持序列化和子类化模型。开发者也可以通过 fit 方法很容易地配置一个 TensorBoard 实例。它同样适用于 Jupyter/Colab 笔记本。

在使用模型子类化的时候,唯一需要做的是重写类成员函数 compute_output_shape,或干脆弃用这个函数。

以外,开发者可以使用 TensorFlow.data.Dataset 或 NumPy 的标准 nd-arrays 来作为 fit 的输入。

模型保存和恢复

TensorFlow 1.x 中如何为产品保存和装载模型的标准是缺失的。而 TensorFlow 2.0 则试图通过定义一个单一 API 来解决这个问题。

另外,TensorFlow 生态系统还整合了 SavedModels,这样就可以部署到手机、边缘设备以及服务器等里面。

android 标记为系统应用 安卓的标记_新特性_09

TF.Text:训练 NLP 模型

TF.Text 是一个 TensorFlow 2.0 库,可以使用 PIP 命令轻松安装。能够在基于文本的模型中定期执行预处理过程,并提供 TensorFlow 核心组件中并未提供的、关于语言建模的更多功能和操作,为 TensorFlow 2.0 提供了强大的文本处理功能,且兼容动态图模式。

android 标记为系统应用 安卓的标记_Android_10

TensorFlow Lite:在端上部署机器学习

TensorFlow Lite 适用于手机以及嵌入式设备上,部署机器学习应用的框架,特点是:几乎没有延迟、不需要连接网络以及隐私保护。

android 标记为系统应用 安卓的标记_android 标记为系统应用_11

比如,闲鱼 App 在租房场景,用 TensorFlow Lite 自动对图片打标签,提高了租房效率;科沃斯机器人将 TensorFlow Lite 部署在扫地机器人中,实现自动避障等等。TensorFlow Lite 在谷歌产品中也被广泛应用,如 Google 相册、输入法、云助理等。

根据统计,有超过 20 亿的移动设备,已经安装了基于 TensorFlow Lite 的应用。

TensorFlow.js:可制作微信小程序的平台

TensorFlow.js 是为 JavaScript 定制的深度学习平台。可以运行已有模型、对已有模型进行再训练、以及训练新的模型,支持多平台:浏览器、无线端(如微信小程序)、服务器、台式机。

android 标记为系统应用 安卓的标记_android 10_12

TensorFlow.js 除了可在多个平台运行机器学习模型,还可以对模型训练,此外具有 GPU 加速功能,并自动支持 WebGL。

工程师现场演示了利用 TF.js 实现的最小最快的虚拟试妆的小程序。据悉,后续还将实现发型转换、年龄转化模拟、肤质检测等功能。

android 标记为系统应用 安卓的标记_API_13

Flutter 1.9 稳定版发布,支持 macOS Catalina 和 iOS 13

Flutter 是谷歌的一款 UI 工具包,通过它的使用,开发者仅需一套代码,就可以为移动、网页和桌面构建美观的应用。

android 标记为系统应用 安卓的标记_Android_14

据称,Flutter 1.9 是迄今为止最大的一次版本更新,有 100 多名 contributor 在此次开发周期中提交了超过 1500 个 pull request。

新版本已经将 Flutter for web 合并至 Flutter 主仓库,并支持 macOS Catalina 和 iOS 13,改进工具链,支持新的 Dart 语言特性和新的 Material widget等。