Android Q首个测试版发布: 支持可折叠屏幕

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在可折叠和大屏幕上的显示方式。

Android Q首个测试版发布: 支持可折叠屏幕

分享快捷方式

当用户想在另一个App中与他人分享照片等内容时,这个过程应该要很快。Android Q提供了分享快捷方式,让这一过程变得更快更简单,用户可以直接跳转到另一个App来分享内容。

Android Q首个测试版发布: 支持可折叠屏幕

设置面板

设置面板是一个浮动的UI,你可以从App中调用它来显示用户可能需要的系统设置,比如网络连接、NFC和音频音量。例如,浏览器可以显示带有连接设置的面板,如飞行模式、Wi-Fi(包括附近的网络)和移动数据。用户不需要离开App就可以进行设置。

Android Q首个测试版发布: 支持可折叠屏幕

连接选项

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首个测试版发布: 支持可折叠屏幕

新的视音频编解码器

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,并减少内存消耗,开发人员不需要做额外的工作。

Android Q首个测试版发布: 支持可折叠屏幕

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

更多内容,请关注前端之巅。

Android Q首个测试版发布: 支持可折叠屏幕