Android 10 来袭
Android 10 围绕三个重要主题构建。首先,Android 10 正在塑造移动创新的领先优势,具有先进的机器学习功能,并支持新兴设备,如可折叠和 5G 手机。接下来,Android 10 主要关注隐私和安全性,其中近 50 项功能可为用户提供更好的保护,透明度和控制。最后,Android 10 扩展了用户的数字福利控制,因此个人和家庭可以找到更好的技术平衡。
创新和新体验
使用 Android 10,你可以利用最新的硬件和软件创新,为用户打造令人惊叹的应用体验。
1
Foldables
基于强大的多窗口支持,Android 10 扩展了跨应用程序窗口的多任务处理,并在设备折叠或展开时提供屏幕连续性来维护应用程序状态。Android 10 在 onResume 和 onPause 中添加了许多改进,以支持多简历,并在应用程序有焦点时通知它。它还改变了 resizeableActivity manifest 属性的工作方式,以帮助您管理应用程序在可折叠和大屏幕上的显示方式。为了帮助您构建可折叠设备,您可以在 Android Studio 中将可折叠模拟器配置为虚拟设备(AVD)
优化折叠
2
5g 网络
5G 承诺提供持续更快的速度和更低的延迟,Android 10 增加了对 5G 的平台支持,并扩展了现有 api,以帮助您利用这些增强。您可以使用连接性 api 来检测设备是否具有高带宽连接,并检查连接是否已计量。有了这些,你的应用程序和游戏可以为 5G 以上的用户定制丰富的身临其境的体验。
3
智能回复通知
Android 10 使用 on-device ML 在通知中建议上下文操作,比如智能回复消息或打开通知中的地址地图。您的应用程序可以立即利用这一特性,而不需要您做任何事情。默认情况下,系统提供的智能回复和操作直接插入通知。如果您愿意,您仍然可以提供您自己的回复和操作。只需使用 setallowgeneratedanswers()和 setallowsystemgeneratedcontext alactions()在每个通知的基础上选择退出智能回复。
智能回复
4
Dark 主题
Android 10 增加了一个系统范围内的黑暗主题,这是低光和帮助节省电池的理想选择。用户可以通过进入“设置”或打开“电池保护程序”来激活一个新的全系统黑暗主题。这将系统 UI 更改为 dark,并启用支持它的 dark 主题。您可以为您的应用程序构建一个自定义的 dark 主题,或者选择加入一个新的 Force dark 特性,该特性允许系统从您现有的主题动态创建一个 dark 版本。您可能还想利用 AppCompat 的 DayNight 特性为早期版本的 Android 用户提供黑暗主题。
Dark 主题
5
手势导航
Android 10 引入了一种全手势导航模式,消除了导航栏区域,允许应用程序使用全屏来提供更丰富、更身临其境的体验。它保留了人们熟悉的 Back、Home 和 Recents 导航,通过边缘滑动而不是可见按钮来导航。要与手势导航无缝融合,您应该从边缘到边缘,在导航栏后面绘制,以创建一种身临其境的体验。要实现这一点,应用程序应该使用全屏显示的 setSystemUiVisibility() API,然后根据需要处理 WindowInsets,以确保 UI 的重要部分不被遮挡。
手势导航
6
设置面板
现在,您可以通过一个新的 Settings.Panel API,直接在应用程序上下文中显示关键系统设置。设置面板是一个浮动 UI,您可以调用它来显示用户可能需要的设置,比如 internet 连接、NFC 和音频音量。例如,浏览器可以显示带有连接设置的面板,如飞机模式、Wi-Fi(包括附近的网络)和移动数据。要显示设置面板,只需使用新的 Settings.Panel.actions
7
分享快捷键
分享快捷方式让分享变得更快更容易,用户可以直接跳转到另一个应用程序来分享内容。开发人员可以发布共享目标,这些目标在应用程序中启动带有附加内容的特定活动,并在共享 UI 中显示给用户。因为它们是预先发布的,所以在启动时共享 UI 会立即加载。共享快捷方式类似于应用程序快捷方式,并且使用相同的 ShortcutInfo API。在 ShareTarget AndroidX 库中也支持该 API。
分享快捷
用户隐私
隐私是 Android 10 的核心关注点,从平台中更强的保护到考虑隐私的新功能。在之前版本的基础上,Android 10 进行了广泛的修改,以保护隐私,并赋予用户更多的控制权,改进了系统 UI、更严格的权限,并限制了数据应用程序的使用。
让用户对位置数据有更多的控制权——用户可以通过一个新的权限选项对他们的位置数据有更多的控制权——他们现在可以允许一个应用程序只在应用程序实际使用时访问位置(在前台运行)。对于大多数应用程序来说,这提供了足够的访问级别,而对于用户来说,这在透明度和控制方面是一个很大的改进。
保护网络扫描中的位置数据——大多数用于扫描网络的 api 已经需要粗定位权限。Android 10 增加了对这些 api 的保护,转而要求良好的位置权限。
防止设备跟踪——应用程序不能再访问可用于跟踪的不可重置设备标识符,包括设备 IMEI、序列号和类似标识符。默认情况下,当连接到 Wi-Fi 网络时,设备的 MAC 地址也是随机的。
保护外部存储中的用户数据——Android 10 引入了一些变化,让用户能够更多地控制外部存储中的文件和其中的应用程序数据。应用程序可以将自己的文件存储在私有沙箱中,但必须使用 MediaStore 访问共享的媒体文件,并使用系统文件选择器访问新下载集合中的共享文件。
阻止不必要的干扰——Android 10 阻止应用程序从背景中启动,意外地跳转到前台并从其他应用程序接管焦点。
安全
Android 10 引入了许多特性,通过在加密、平台强化和身份验证方面的进步,使用户更加安全。
存储加密——所有兼容 Android 10 的设备都需要加密用户数据,为了提高效率,Android 10 包括了我们的新加密模式 Adiantum。
默认情况下支持 TLS 1.3——Android 10 默认情况下也支持 TLS 1.3,这是对 TLS 标准的一个重大修订,具有性能优势和增强的安全性。
平台强化——Android 10 还包括对平台几个安全关键领域的强化。
改进的 Biometrics—Android 10 扩展了 BiometricPrompt 框架,支持被动身份验证方法,如 face,并添加了隐式和显式身份验证流。在显式流中,用户必须在身份验证期间显式地确认 TEE 中的事务。隐式流是为使用被动身份验证的事务设计的轻量级替代方案。Android 10 还在需要时改进了设备凭证的备份。
相机和媒体
照片动态深度应用程序现在可以请求一个动态深度图像,它由一个 JPEG、XMP 元数据(与深度相关的元素相关)和一个嵌入在同一文件中的深度和置信度图组成。动态深度是生态系统的一种开放格式,我们正在与合作伙伴合作,将其引入运行 Android 10 或更高版本的设备中。
音频播放捕获
现在,任何播放音频的应用程序都可以让其他应用程序使用新的音频回放捕获 API 捕获其音频流。除了启用标题和副标题之外,该 API 还允许您支持流行的用例,比如实时流媒体游戏。我们在构建这个新功能时考虑到了隐私和版权保护,因此一个应用程序捕获另一个应用程序的音频的能力受到了限制,从而让应用程序完全控制它们的音频流是否可以被捕获。
新的音频和视频编解码器
Android 10 增加了对开源视频编解码器 AV1 的支持,它允许媒体供应商使用更少的带宽向 Android 设备传输高质量的视频内容。此外,Android 10 支持使用 Opus 进行音频编码(Opus 是一种开放的、免版税的编解码器,针对语音和音乐流媒体进行了优化)和 HDR10+在支持 Opus 的设备上进行高动态范围的视频编码。MediaCodecInfo API 引入了一种更简单的方法来确定 Android 设备的视频呈现能力。对于任何给定的编解码器,都可以获得支持的大小和帧速率列表。
原生 MIDI API
对于用 c++执行音频处理的应用程序,Android 10 引入了一个本地 MIDI API,通过 NDK 与 MIDI 设备通信。该 API 允许使用非阻塞读取在音频回调中检索 MIDI 数据,从而支持对 MIDI 消息进行低延迟处理。在这里用示例应用程序和源代码试一试。
定向可缩放麦克风
Android 10 通过一个新的
MicrophoneDirection API 让你对音频捕获有更多的控制。在录制音频时,可以使用 API 指定麦克风的首选方向。例如,当用户正在拍摄“自拍”视频时,您可以请求前置麦克风进行音频录制(如果存在的话)。此外,这个 API 引入了控制可缩放麦克风的标准化方法,允许您的应用程序控制录制字段的大小。
Vulkan 无处不在
Android 10 扩展了 Vulkan 的影响,我们为高性能 3D 图形实现了低开销、跨平台的 API。Vulkan 1.1 现在是所有运行 Android 10 或更高版本的 64 位设备的必备版本,也是所有 32 位设备的推荐版本。我们已经看到了 Vulkan 在生态系统中的支持势头——在运行 Android N 或更高版本的设备中,53%的设备支持 Vulkan 1.0.3 或更高版本。随着 Android 10 的新要求,我们希望在未来的一年里,Android 的应用会进一步提高。
连接
改进的点对点和互联网连接
我们对 Wi-Fi 堆栈进行了重构,以提高隐私和性能,还改进了一些常见的用例,比如管理物联网设备和建议互联网连接——而不需要位置许可。网络连接 api 使得通过本地 Wi-Fi 管理物联网设备变得更加容易,可以实现配置、下载或打印等对等功能。网络建议 api 允许应用程序在互联网连接方面显示用户更喜欢的 Wi-Fi 网络。
Wi-Fi 性能模式
应用程序现在可以通过启用高性能和低延迟模式来请求自适应 Wi-Fi。如果低延迟对用户体验非常重要,比如实时游戏、活动语音呼叫和类似的用例,那么这将是一个巨大的优势。该平台配合设备固件工作,以满足最低功耗的要求。要使用新的性能模式,请使用 WIFI_MODE_FULL_LOW_LATENCY 或 WIFI_MODE_FULL_HIGH_PERF 调用 WifiManager.WifiLock.createWifiLock()。在这些模式下,平台与设备固件协同工作,以满足功耗最低的要求。
Android 基础
ART 优化
ART 运行时的改进可以帮助您的应用程序启动得更快、消耗更少的内存、运行得更流畅——而不需要您做任何工作。由谷歌 Play 提供的艺术简介,让艺术在运行之前就预先编译应用程序的部分。在运行时,Android 10 在 ART 的并发复制(CC)垃圾收集器中增加了分代垃圾收集,使垃圾收集在时间和 CPU 方面更加高效,减少了 jank,并帮助应用程序在低端设备上更好地运行。
神经网络 API 1.2
我们增加了 60 个新项目,包括 ARGMAX, ARGMIN,量化 LSTM,以及一系列的性能优化。这为加速更大范围的模型奠定了基础,比如用于目标检测和图像分割的模型。我们正在与硬件供应商和流行的机器学习框架(如 TensorFlow)合作,优化和推出对 NNAPI 1.2 的支持。
Thermal API
当设备过热时,它们可能会抑制 CPU 和/或 GPU,这可能会以意想不到的方式影响应用程序和游戏。现在在 Android 10 中,应用程序和游戏可以使用一个热 API 来监控设备的变化,并采取行动帮助恢复正常温度。例如,流媒体应用程序可以降低分辨率/比特率或网络流量,相机应用程序可以禁用 flash 或强化图像增强,游戏可以降低帧率或多边形镶嵌。点击这里了解更多内容。
通过公共 api 的兼容性
Android 10 继续扩展对非 sdk 接口的限制,因此应用程序逐渐转向只使用公共 api。如果当前使用的接口受到限制,则可以为该接口请求一个新的公共 API。为了帮助您进行转换并防止应用程序崩溃,我们只在您的应用程序针对 Android 10 (API 29)时启用这些限制。
更快的更新,更新鲜的代码
Android 10 是通过 Project Treble 为更快的更新而构建的,该项目在 Android 和来自设备制造商和硅制造商的底层设备代码之间提供了一致的、可测试的接口。通过 Treble,设备制造商可以更快、更低成本地将 Android 10 带到兼容三倍标准的设备上。
Android 10 也是第一个支持 Project Mainline (官方称为 Google Play 系统更新)的版本,这是我们用于保护 Android 用户并通过重要代码更改保持设备新鲜的新技术 - 直接来自 Google Play。借助 Google Play 系统更新,我们可以在运行 Android 10 及更高版本的所有设备上更新特定的内部组件,而无需设备制造商进行完整的系统更新。
对于开发人员来说,我们希望 Android 10 中的这些更新能够促进平台实现在不同设备上的一致性,并随着时间的推移带来更大的一致性,从而降低开发和测试成本。
跟多学习资料戳下方
评论