Android 10

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

创新技术和新体验

可折叠设备

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

借助 Android 10,您可以针对可折叠设备和其他大屏幕设备优化应用。

5G 网络

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

通知中的智能回复

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

智能回复可以根据通知内容提供操作建议。

深色主题

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

Android 10 可以利用 Force Dark 为应用动态创建深色主题。

手势导航

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

手势导航可让应用全屏显示内容。

共享快捷方式

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

共享快捷方式可让用户直接跳转到应用中的特定 Activity,同时附上内容。

用户隐私设置

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

赋予用户对位置数据的更多控制权

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

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

在扫描网络时保护位置数据

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

阻止设备跟踪

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

保护外部存储设备中的用户数据

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

屏蔽意外中断

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

安全性

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

存储加密

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

默认启用 TLS 1.3

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

平台安全强化

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

摄像头和媒体

照片的动态深度

应用现在可以请求动态深度图片,其中包含与深度相关元素有关的 JPEG、XMP 元数据,以及嵌入在同一文件中的深度和置信度映射。这些功能让您可以在应用中提供专用模糊和散景选项。动态深度是用于生态系统的一种开源格式。

您可以利用动态深度图片在应用中提供专用模糊和散景选项。

捕获播放的音频

现在,播放音频的任何应用都允许其他应用使用新的音频播放捕获 API 捕获其音频流。除了能够启用字幕之外,此 API 还可让您支持常见的使用场景(如直播游戏)。我们在构建这项新功能时考虑了隐私性和版权保护,因此,应用捕获其他应用音频的功能会受限,这会让应用全权控制其音频流是否可以被捕获。

新的音频和视频编解码器

Android 10 新增了对开源视频编解码器 AV1 的支持,这允许媒体提供商使用更少的带宽向 Android 设备流式传输高品质视频内容。此外,Android 10 还支持使用 Opus(一种针对语音和音乐流式传输进行了优化的开放且免版税的编解码器)和 HDR10+(用于支持它的设备上的高动态范围视频)对音频进行编码。MediaCodecInfo API 引入了一种更简便的方法来确定某个 Android 设备的视频渲染功能。对于任何指定的编解码器,您可以获取其支持的大小和帧速率列表。

可缩放的定向麦克风

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 或更高版本。

连接性

WLAN 性能模式

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

Android 基础

ART 优化

在 ART 运行时方面的改进可帮助您的应用更快地启动、占用更少的内存并更顺畅地运行,而您无需执行任何操作。借助 Google Play 提供的 ART 配置文件,ART 在应用运行之前就可以预先编译应用组件。在运行时,Android 10 向 ART 的并发复制 (CC) 垃圾回收器添加了分代垃圾回收功能,以节省垃圾回收的时间并提高 CPU 效率,减少卡顿,同时帮助应用在低端设备上更顺畅地运行。

上图以百分比形式显示了具体应用在使用 Play 配置文件进行测试后启动时间的缩短幅度。

Thermal API

当设备过热时,它们可能会限制 CPU 和/或 GPU,而这可能会以意想不到的方式影响应用和游戏。现在,在 Android 10 中,应用和游戏可以使用 Thermal API 监控设备变化情况,并在设备过热时采取措施,使设备恢复到正常温度。例如,影音在线播放应用可以降低分辨率/比特率或减少网络流量;相机应用可以停用闪光灯或密集型图像增强;游戏可以降低帧速率或减少多边形曲面细分。

通过公共 API 实现兼容性

Android 10 继续增加了对非 SDK 接口的限制,以便应用逐步转为仅使用公共 API。如果您目前使用的接口受到限制,则可以选择针对该接口请求新的公共 API。为了帮助您完成过渡并防止应用中断,我们仅在您的应用以 Android 10 (API 29) 为目标平台时实施这些限制。

你可能感兴趣的:(Android 10)