Android开发-Android 10 的新功能及新特性

前 言

Google 在去年(2019年)3月份首次公布了 Android 10 的测试版,然后在去年 5 月份的 Google 年度 I/O 开发者大会上展示了 Android 10 系统的几个新的功能,去年9月份 Android 10 开始正式商用。

Android 10 围绕三个重要主题构建而成。首先,Android 10 以其先进的机器学习和对新兴设备(如可折叠设备和支持 5G 的手机)的支持走在移动创新领域的前沿。其次,Android 10 的主要关注点之一就是隐私权和安全性,其中近 50 项功能可为用户提供更好的保护、更高的透明度以及让用户更好地控制相关数据。最后,Android 10 可让用户更好地控制数字健康,因此个人和家庭都可以更好地利用此项技术。

下面,我们来介绍一下 Android 10 为开发者提供了哪些功能以及您现在能如何利用这些功能。

特性1:可折叠设备

Android 10 基于强大的多窗口支持构建而成,扩展了跨应用窗口的多任务处理能力,还提供了屏幕连续性,可以在设备折叠或展开时维持应用状态。Android 10 在 onResume 和 onPause 中添加了多项改进,用于支持多项恢复,并在应用获得焦点时通知应用。它还更改了 resizeableActivity 清单属性的工作方式,以帮助您管理应用在可折叠设备和大屏幕设备上的显示方式。为帮助针对可折叠设备进行编译,您可以在 Android Studio 中配置可折叠模拟器来用作虚拟设备 (AVD)。如下图所示。

Android开发-Android 10 的新功能及新特性_第1张图片

特性2:5G 网络

5G 有望在稳定提升速度的同时降低延迟,Android 10 新增了针对 5G 的平台支持,并扩展了现有 API 来帮助您充分利用这些增强功能。您可以使用连接 API 来检测设备是否具有高带宽连接,还可以检查连接是否按流量计费。借助这些功能,您的应用和游戏可以为使用 5G 的用户量身打造丰富的沉浸式体验。

特性3:通知中的智能回复

Android 10 使用设备上的机器学习在通知中提供上下文操作建议,如智能回复消息或在通知中打开某个地址的地图。您的应用可以立即充分利用此功能,而您无需执行任何操作。系统提供的智能回复和操作默认直接插入到通知中。您仍可以根据需要自行提供回复或操作。使用 setAllowGeneratedReplies() 和 setAllowSystemGeneratedContextualActions() 即可针对每则通知选择停用智能回复。如下图所示。

Android开发-Android 10 的新功能及新特性_第2张图片

特性4:深色主题

Android 10 新增了一个系统级的深色主题,非常适合光线较暗的场景并能帮助节省电量。用户转至“设置”进行相应设置或开启“省电模式”即可激活新的系统级深色主题。这会将系统界面更改为深色,并为支持深色主题的应用启用深色主题。您可以为应用构建自定义深色主题,也可以选择使用新的 Force Dark 功能,让系统根据现有主题动态创建深色版本。您还可以充分利用 AppCompat 的 DayNight 功能,为使用早期版本的 Android 的用户提供深色主题。如下图所示。

Android开发-Android 10 的新功能及新特性_第3张图片

特性5:手势导航

Android 10 引入了全手势导航模式,该模式不显示通知栏区域,允许应用使用全屏来提供更丰富、更让人沉浸的体验。它通过边缘滑动(而不是可见的按钮)保留了用户熟悉的“返回”、“主屏幕”和“最近”导航。要与手势导航无缝融合,您应顺着边缘在导航栏后方绘制,以打造沉浸式体验。要实现这一点,应用应使用 setSystemUiVisibility() API 以全屏模式布局,然后相应地处理 WindowInsets,以确保重要的界面区域未被遮挡。如下图所示。

特性6:设置面板

现在,您可以通过新的设置面板 API 在应用上下文中直接显示关键系统设置。设置面板是浮动界面,您可以通过调用它来显示用户可能需要使用的设置,如互联网连接、NFC 和音量。例如,浏览器可以显示具有飞行模式、WLAN(包括附近网络)和移动数据等连接设置的面板。要显示设置面板,只需发出具有某个新 Settings.Panel 操作的 intent。

特性7:共享快捷方式

共享快捷方式功能可使共享更加轻松快捷,让用户能够直接跳转到其他应用来共享内容。开发者可以发布能在应用中启动特定 Activity 的共享目标,同时附上内容;这些共享目标会在共享界面中向用户显示。因为共享目标是提前发布的,所以共享界面会在启动后立即加载它们。共享快捷方式类似于应用快捷方式,都使用同一个 ShortcutInfo API。ShareTarget AndroidX 库也支持此 API。如下图所示。

Android开发-Android 10 的新功能及新特性_第4张图片

特性8:用户隐私设置

隐私权是 Android 10 的其中一个主要关注点,相关改进包括在平台中提供更强大的保护措施以及在设计新功能时谨记隐私性。Android 10 基于先前版本构建,并引入了大量变更(如改进了系统界面、让权限授予更加严格以及对应用能够使用哪些数据实施了限制),目的是保护隐私权并赋予用户更多控制权。

赋予用户对位置数据的更多控制权 - 用户可以通过新的权限选项更好地控制他们的位置数据;现在,他们可以允许应用仅在实际使用(在前台运行)时访问位置信息。对于大部分应用来说,这提供了足够的访问级别;而对于用户来说,这在确保透明度和控制权方面是一项重大改进。

用户现在可以选择在应用在前台运行时授予其访问位置信息的权限。

赋予用户对位置数据的更多控制权 - 用户可以通过新的权限选项更好地控制他们的位置数据;现在,他们可以允许应用仅在实际使用(在前台运行)时访问位置信息。对于大部分应用来说,这提供了足够的访问级别;而对于用户来说,这在确保透明度和控制权方面是一项重大改进。

在扫描网络时保护位置数据 - 用于扫描网络的大多数 API 都需要粗略位置权限。Android 10 改为要求精确位置权限,由此来增强对这些 API 的防御。

阻止设备跟踪 - 应用无法再访问不可重置的设备标识符(可用于跟踪),包括设备 IMEI、序列号和类似标识符。设备的 MAC 地址也会默认在连接到 WLAN 网络时随机分配。

保护外部存储设备中的用户数据 - Android 10 引入了一些变更,目的是让用户更好地控制外部存储设备中的文件以及其中的应用数据。应用可以将自己的文件存储在专用沙盒中,但必须使用 MediaStore 来访问共享媒体文件,并使用系统文件选择器访问新的“下载内容”集合中的共享文件。

屏蔽意外中断 - Android 10 可阻止应用从后台启动,从后台启动会使应用意外跳转到前台并从其他应用获得焦点。

特性9:安全性

Android 10 引入了多项功能,可通过加密、平台安全强化和身份验证方面的改进为用户提供更高的安全性。

存储加密 - 搭载 Android 10 的所有兼容设备都必须加密用户数据;为了提高加密效率,Android 10 引入了我们的新加密模式 Adiantum。

默认启用 TLS 1.3 - Android 10 还默认启用 TLS 1.3,它是 TLS 标准的主要修订版本,具有性能优势和更高的安全性。

平台安全强化 - Android 10 还引入了针对平台几个关键安全区域的安全强化功能。

改进了生物识别功能 - Android 10 扩展了 BiometricPrompt 框架,以支持被动身份验证方法,如人脸识别以及添加隐式和显式身份验证流程。在显式流程中,用户必须在身份验证期间明确确认 TEE 中的事务。对于需要被动身份验证的事务,隐式流程是一种更轻量的替代方案。Android 10 还改进了按需回退设备凭据的流程。

特性10:摄像头和媒体相关特性

照片的动态深度

应用现在可以请求动态深度图片,其中包含与深度相关元素有关的 JPEG、XMP 元数据,以及嵌入在同一文件中的深度和置信度映射。这些功能让您可以在应用中提供专用模糊和散景选项。动态深度是用于生态系统的一种开源格式,我们正在与合作伙伴合作,以将其推广到搭载 Android 10 及更高版本的设备。

捕获播放的音频

现在,播放音频的任何应用都允许其他应用使用新的音频播放捕获 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 的影响范围。所有搭载 Android 10 及更高版本的 64 位设备现在都要求使用 Vulkan 1.1,也建议在所有 32 位设备上使用 Vulkan 1.1。我们已经看到整个生态系统大力支持 Vulkan 的强劲势头,在搭载 Android N 或更高版本的设备中,53% 的设备都支持 Vulkan 1.0.3 或更高版本。随着 Android 10 中相关新要求的推出,我们预计未来一年 Vulkan 的采用率将进一步提升。

特性11:连接相关特性

改进了点对点连接和互联网连接

我们重构了 WLAN 堆栈,目的是改进隐私设置和性能,同时改进常见使用场景(如管理 IoT 设备以及提供互联网连接建议),而无需请求位置权限。网络连接 API 针对点对点功能(如配置、下载或打印)简化了通过本地 WLAN 管理 IoT 设备的操作。网络建议 API 可让应用向用户显示首选 WLAN 网络以进行互联网连接。

WLAN 性能模式

应用现在可以通过启用高性能和低延迟模式来请求自适应 WLAN。如果低延迟对用户体验(如实时游戏、活跃语音通话以及类似使用场景)至关重要,这些模式会极具优势。平台与设备固件配合使用,可以满足最低耗电量的要求。要使用新的性能模式,请调用 WifiManager.WifiLock.createWifiLock()(使用 WIFI_MODE_FULL_LOW_LATENCY 或 WIFI_MODE_FULL_HIGH_PERF)。在这些模式中,平台与设备固件配合使用,可以满足最低耗电量的要求。

———————— The end ————————

码字不易,如果您觉得这篇博客写的比较好的话,可以赞赏一杯咖啡吧~~
在这里插入图片描述

你可能感兴趣的:(Android开发随笔,android,java,移动开发,安卓,android开发)