2019 年,移动方面的创新将比以往任何时候都更加强劲,比如 5G 技术和可折叠屏幕。随着移动生态系统的发展,Android 致力于帮助用户利用最新的创新,确保用户的安全和隐私始终是重中之重。Android Q 带来了一些额外的用户隐私和安全特性、为可折叠设备进行的增强、新的连接 API、新媒体编解码器和相机功能、NNAPI 扩展、Vulkan 1.1 支持、更快的 App 启动速度,等等。
今天,谷歌正式发布了 Android Q Beta 1 和面向开发者的预览 SDK。现在你可以通过注册 Pixel 设备(包括 Pixel 和 Pixel XL)获取 Beta 1,以下全文是 Android Q 的新特性详解。
隐私保护
随着 Android 系统越来越成熟,已经添加了一个系列功能来保护用户。Android Q 提供了更多的增强来保护用户,其中有很多增强是 Strobe 项目的一部分。
更多的位置隐私控制
Android Q 可以让用户更好地控制 App 何时可以获取位置信息。和之前版本一样,App 只有在获得用户许可后才能获取位置信息。
App 可以在后台运行期间访问用户位置,这是一个很敏感的问题。Android Q 允许用户控制只在使用 App 时或在后台时才允许访问位置信息。
其他隐私保护
在 Android Q 中,用户对 App 有了更多的控制,可以控制对共享文件的访问。用户可以通过新的运行时权限控制 App 对照片、视频或音频的访问。在下载文件时,App 必须使用系统文件选择器,用户可以决定 App 可以访问哪些下载文件。
Android Q 将限制对不可重置设备标识符的访问,包括设备 IMEI、序列号和其他类似的标识符。在默认情况下,当连接到不同的 Wi-Fi 网络时,还会随机设置设备的 MAC 地址——这在 Android 9 Pie 中是可选的。
新的交互方式
Android Q 启用了新的将用户带入 App 的方式,并简化了切换 App 的体验。
支持可折叠屏幕
可折叠设备带来了一些创新的体验和应用场景。为了帮助 App 更好地利用这些大屏幕设备,Android Q 带来了很多改进,包括增强 onResume 和 onPause 来支持 multi-resume,并在 App 获得焦点时发出通知。Android Q 还更改了 resizeableActivity 的 manifest 属性的工作方式,这样有助于管理 App 在可折叠和大屏幕上的显示方式。
分享快捷方式
当用户想在另一个 App 中与他人分享照片等内容时,这个过程应该要很快。Android Q 提供了分享快捷方式,让这一过程变得更快更简单,用户可以直接跳转到另一个 App 来分享内容。
设置面板
设置面板是一个浮动的 UI,你可以从 App 中调用它来显示用户可能需要的系统设置,比如网络连接、NFC 和音频音量。例如,浏览器可以显示带有连接设置的面板,如飞行模式、Wi-Fi(包括附近的网络)和移动数据。用户不需要离开 App 就可以进行设置。
连接选项
Android Q 增加了新的连接 API。
连接权限、隐私和安全性
大多数用于扫描网络的 API 需要粗略位置权限,但在 Android Q 中,蓝牙、蜂窝网络和 Wi-Fi 连接需要精确的位置权限。
除了在连接到不同的 Wi-Fi 网络时提供的随机 MAC 地址,Android Q 还增加了新的 Wi-Fi 标准支持、WPA3 和 Enhanced Open,用以提高家庭和工作网络以及公共网络的安全性。
改进的点对点网络连接
Android Q 重构了 Wi-Fi 栈,改善了隐私和性能,同时也改善了常见的用例,比如管理物联网设备和建议网络连接——不需要请求位置权限许可。
Wi-Fi 性能模式
现在可以在 Android Q 中通过启用高性能和低延迟模式来请求自适应 Wi-Fi。在低延迟对用户体验来说非常重要的场景中,如实时游戏、活动语音呼叫和其他类似的场景,这个模式将非常有用。
动态景深
很多移动设备的相机可以通过模糊前景或背景来模拟浅景深。从 Android Q 开始,App 可以请求获得动态景深图像,由一张 JPEG 图像、XMP 元数据(与景深元素相关)和一个深度和置信度 map 组成。
通过 JPEG+动态景深图像的形式,可以在 App 中提供专门的模糊和 bokeh 选项,甚至可以使用这些数据创建 3D 图像或支持 AR 摄影。
新的视音频编解码器
Android Q 引入了对开源视频编解码器 AV1 的支持。媒体供应商可以用更少的带宽向 Android 设备传输高质量的视频内容。此外,Android Q 支持使用 Opus 进行音频编码,Opus 是一种针对语音和音乐流媒体进行过优化的编解码器。HDR10+用于支持 Opus 的设备上的高动态范围视频。
原生 MIDI API
Android Q 引入了一个原生 MIDI API,通过 NDK 与 MIDI 设备通信。这个 API 允许使用非阻塞读取在音频回调中获取 MIDI 数据,从而对 MIDI 消息进行低延迟处理。
基于 Vulkan 的 ANGLE
为了让游戏和图形开发者可以保持一致,Android Q 正在为所有基于 Vulkan 的设备开发一个标准的、可更新的 OpenGL 驱动程序。Android Q 增加了对 ANGLE 的实验性支持。ANGLE 是一个图形抽象层,用于实现高性能的 OpenGL 兼容性。通过 ANGLE,很多使用 OpenGL ES 的 App 和游戏都可以利用 Vulkan 的性能和稳定性。Android Q 计划支持 OpenGL ES 2.0 和 ES 3.0(下一步)。
Neural Networks API 1.2
自 2017 年推出 Neural Networks API (NNAPI)以来,继续增加可支持的操作数量,并改进现有功能。Android Q 增加了 60 个新操作,包括 ARGMAX、ARGMIN、量化 LSTM,以及一系列性能优化。这为加速更大范围的模型奠定了基础,比如用于物体检测和图像分割的模型。
ART 性能
Android Q 对 ART 运行时做出了几项新的改进,可以更快地启动 App,并减少内存消耗,开发人员不需要做额外的工作。
App 安全性
Android Q 增加了对 TLS 1.3 的支持。TLS 1.3 是 TLS 标准的一个主要修订版本,包括性能优化和增强的安全性。基准测试表明,与 TLS 1.2 相比,使用 TLS 1.3 可以更快地建立安全连接,速度提升高达 40%。默认情况下,所有 TLS 连接都启用 TLS 1.3。
开始使用 Android Q
首先,在运行 Android Q Beta 的设备或 Android 虚拟设备上安装来自谷歌 Play 的 App。这些 App 应该能够正常运行。如果发现任何问题,建议在当前的 App 中修复它们,而不改变 target level。
接下来,尽快将 App 的 targetSdkVersion 更新为“Q”,这样就可以在你的 App 中测试 Android Q 提供的隐私和安全特性和任何其他行为变化。
如何获取 Android Q Beta
这很简单,你可以在这里(https://www.google.com/android/beta)注册,在 Pixel 设备上通过无线方式获得 Android Q Beta 更新(今年支持所有三代 Pixel)。你还可以下载这些设备的系统映像。如果你没有 Pixel 设备,可以使用 Android 模拟器,并通过 Android Studio 中的 SDK Manager 下载最新的模拟器系统图像。
英文原文:
https://android-developers.googleblog.com/2019/03/introducing-android-q-beta.html
更多内容,请关注前端之巅。
评论