谷歌在 Android Pie
中实现了一项功能,该功能将警告用户应用程序是针对较旧的 Android API
版本而构建的,而据 XDA
报道,在 Android
Q 中,该规定将更为严格,它将最低允许目标版本从 API 17 改为了
API 23,这意味着每次用户运行针对 Android 5.0 Lollipop
或更早版本开发的应用时,系统都会弹出警告。

IT之家9月4日消息虽然谷歌于8月份推送了最新的Android 9
Pie更新,但是除了谷歌旗下Pixel系列机型之外,能升级到最新版本系统的机型还屈指可数。虽然如此,谷歌已经开始着手下一代Android
Q系统了。

IT之家3月14日消息今日谷歌正式对早期预览用户发布了Android Q Beta
1,并为开发人员发布预览SDK。

图片 1

来自XDA的消息显示,从2018年11月1日开始,Play商店现有应用的所有更新必须支持到API级别26及以上,毫无疑问这将使得应用遵守最新版安卓系统的特性,如安全和省电等。

在新一代的Android
Q中,谷歌带来了更多的隐私和安全功能,并为可折叠设备带来了的增强功能以及用于连接的新API、新媒体编解码器和相机功能、NNAPI扩展、Vulkan
1.1支持,以及应用启动加速等等。

谷歌此举的目的在于保证系统安全性,举个例子,在 Android 6 的 API 23
中有一些新的安全和隐私特性,这会对应用程序可以执行的操作引入一些限制,而某些开发者并不喜欢这些限制,那么他们会直接使用低于
API 23 的版本,以获得更多的系统权限,这样就使得系统安全性降低。

根据最新提交到AOSP的代码,“PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION”增加到23,当应用的最低API值低于目标SDK时,系统将会显示一条警告信息,提示用户应用可能无法正常运行。

隐私保护

最新提交到 AOSP
的代码显示,“PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION”平台最低支持的
SDK 版本被更新到了 23,当应用的最低 API
版本低于这个值时,系统会弹出一条警告信息,提示用户应用可能无法正常运行。

XDA表示,谷歌应该不会让Android
Q阻止运行支持低API级别的应用,但是,这种限制可能会使得用户抱怨,特别是没有可替代产品的情况下。

在Android
Q中,谷歌带来了更多保护用户的增强功能,其中有许多都是谷歌Strobe项目的一部分。

图片 2

让用户更好地控制位置

然而这些基于低版本 API
的应用似乎也能够继续运行,但是这显然会影响用户体验。

Android
Q可帮助用户更好地掌控应用获取位置信息的时机。与以前版本一样,应用程序只有在请求许可并获得权限授予后,才能获取位置。但是,一个特别敏感的事情是,应用程序未使用时也能访问位置。

其实 Google 在去年 12 月份就要求从 2018 年 8 月 1 日起提交到 Google Play
的所有新应用程序必须使用 API 26 或更高版本,也就是满足 Android Oreo、或
Android 9 Pie 及未来更高级的 Android Q。同时,从 2018 年 11 月 1
日起,Google Play 现有应用的所有更新也必须针对 API 26
或更高版本。谷歌也是想用此规定迫使开发者遵循最新版 Android
中的安全性、隐私、内存优化和电池节能进行应用开发。

对此,Android
Q允许用户授予应用程序权限,选择让App永远看不到位置,或仅在运行时,或始终可以获取。

(文/开源中国)    

更多隐私保护

除了位置变化之外,谷歌还会进行进一步的更新,确保透明度,让用户控制、保护个人数据。

在Android
Q中,用户可以更好地掌控应用程序,控制应用对共享文件的访问。用户将能够通过新的运行时权限,控制应用程序对照片和视频或音频集合的访问。对于“下载”的文件,应用必须使用系统文件选择器,让用户决定应用可以访问哪些下载文件。对于开发人员,应用程序可以在外部存储上使用共享区域的方式发生了变化。

当应用程序意外跳转到前台并重新关注时,用户和开发人员都会感到不快。为了减少这些中断行为,Android
Q将阻止应用从后台启动活动。如果你需要应用程序处于后台且快速引起的注意,你可以使用高优先级通知并让其进行全屏显示。

谷歌还将限制访问不可重置的设备标识符,包括设备IMEI、序列号等,并默认在连接到不同的Wi-Fi网络时,随机改变设备的MAC地址,在Android
9 Pie中这是可选设置。

吸引用户的新渠道

可折叠和创新的新屏幕

谷歌在Android
Q中进行了一些改进,包括对onResume和onPause的更改,以支持多重恢复,并在重点关注时通知应用。谷歌还更改了resizeableActivity属性的工作方式,以帮助用户管理应用在可折叠屏设备和大屏幕设备上的显示方式。

为了开始构建和测试这些新设备,谷歌将更新Android
Emulator,以支持多显示器类型切换。

分享快捷方式

在Android
Q中,谷歌通过使用“分享快捷方式”让分享更快更轻松,用户可以直接跳转到另一个应用程序来共享内容。开发人员可以发布在其应用中添加内容的特定活动的分享目标,并在分享UI中向用户显示这些目标。因为它们是预先发布的,所以共享UI可以在启动时立即加载。

分享快捷方式机制类似于应用程序快捷方式,谷歌扩展了ShortcutInfo
API,使两个功能的集成更加容易。新的ShareTarget
AndroidX库支持这个新的API,这允许应用程序使用新功能,并使pre-Q设备使用Direct
Share工作。

设置面板

用户可以通过新的设置面板API,直接在应用程序的环境中显示关键系统设置,这一API利用了Android
9 Pie中引入的Slices功能。

设置面板是一个浮动UI,你可以从应用程序加以调用,以显示可能需要的系统设置,如网络连接、NFC和音量等。

连接性

在Android
Q中,通过Android连接堆栈,应用程序的功能已得到扩展,新的连接API也已加入。

连接权限、隐私和安全性

用于扫描网络的大多数API都需要COARSE位置权限,但在Android
Q中,对于蓝牙、移动电话和Wi-Fi,系统通过要求获得FINE位置权限来增加对这些API的保护。

在连接到不同Wi-Fi网络时,Android
Q会提供随机MAC地址。此外,谷歌还添加了新的Wi-Fi、WPA3和Enhanced
Open标准支持,提高家庭和工作网络以及开放/公共网络的安全性。

点对点和互联网连接改进

通过网络连接API,用户可以更轻松地通过本地Wi-Fi管理物联网设备,实现配置,下载或打印等对等功能。应用程序通过将首选SSID和BSSID指定为WiFiNetworkSpecifiers,间接启动连接请求。

平台处理Wi-Fi扫描本身并在Wi-Fi选择器中显示匹配的网络。当用户选择时,平台会自动设置连接。

建议网络的API支持应用表面优选Wi-Fi网络给用户用于互联网连接。应用程序通过提供网络和凭据的排序列表,来间接启动连接,如WifiNetworkSuggestions。该平台将在这些网络的范围内基于过去的性能无缝连接。

Wi-Fi性能模式

你现在可以通过启用高性能、低延迟模式,在Android
Q中请求自适应Wi-Fi。在低延迟体验很重要的时候,例如实时游戏、主动语音呼叫等,这将是非常有益的。

要使用新的性能模式,请使用或调用“WifiManager.WifiLock.createWifiLock()”以及“WIFI_MODE_FULL_LOW_LATENCY”或“WIFI_MODE_FULL_HIGH_PERF”。在这些模式下,平台与设备固件会配合使用,以最低功耗满足要求。

相机、媒体、图形

照片的动态深度格式

从Android
Q开始,应用可以请求动态深度图像,该图像由与深度相关元素相关的JPEG,XMP元数据以及嵌入在同一文件中的深度和置信度图组成。

请求JPEG
+动态深度图像可以使你在应用程序中提供专门的模糊、散景选项,也可以在将来用于创建3D图像或支持AR摄影。

谷歌正在将Dynamic
Depth作为生态系统的开放格式,并在与设备制造商合作伙伴合作,使其在运行Android
Q及以上版本设备可用。

使用动态深度图像,你可以在应用程序中提供专门的模糊、散景选项。

新的音频和视频编解码器

Android
Q引入了对开源视频编解码器AV1的支持。媒体提供商使用更少的带宽,将高质量的视频内容流式传输到Android设备。

Android Q支持使用Opus的音频编码,并支持HDR10 +。

该MediaCodecInfo
API引入了一个更简单的方法来确定视频渲染的Android设备的能力。对于任何给定的编解码器,你可以使用VideoCodecCapabilities.getSupportedPerformancePoints()获取支持的大小和帧速率列表。

对于使用C ++执行音频处理的应用程序,Android Q带来了原生MIDI
API,可以通过NDK与MIDI设备进行通信。此API允许使用非阻塞读取在音频回调内检索MIDI数据,从而实现MIDI消息的低延迟处理。

Vulkan上的ANGLE

谷歌将为Vulkan设备开发标准的、可更新的OpenGL驱动程序。在Android
Q中,谷歌为Vulkan添加了对ANGLE的实验性支持。

ANGLE是一个图形抽象层,可以实现的高性能OpenGL兼容性。通过ANGLE,OpenGL
ES的许多应用程序和游戏可以充分利用Vulkan的性能和稳定性,并从Android设备上一致的,独立于供应商的ES实施中受益。Android
Q计划支持OpenGL ES 2.0、ES 3.0。

Vulkan无处不在

谷歌正与设备制造商合作伙伴努力,使Vulkan 1.1成为所有Android
Q及以上版本64位设备的要求,并推荐32位设备采用,这将有助于为应用和游戏提供统一的高性能图形API。

神经网络API 1.2(Neural Networks API 1.2)

自2017年引入神经网络API以来,谷歌不断扩展支持的操作数量,改进已有功能。

谷歌在Android
Q中添加了60个新操作,包括ARGMAX、ARGMIN、量化LSTM,以及一系列性能优化。这为加速设备爱用奠定了基础,如用于物体检测和图像分割的模型。

为Android加强基础

ART性能

Android
Q引入了ART运行时的几项新改进,可帮助应用程序更快地启动、减少内存消耗,开发人员无需采取任何工作。

应用安全性

Android Q增加了对TLS 1.3的支持,TLS
1.3是对TLS标准的重大修订,包括性能优势和增强的安全性。基准测试表明,与TLS
1.2相比,TLS 1.3可以将安全连接的速度提高40%。TLS连接默认情况下将启用TLS
1.3。

公共API与兼容性

Android
Q限制了更多非SDK接口访问,并要求使用公共等效项。为了帮助进行转换、防止应用遭破坏,谷歌仅在应用目标API与Android
Q匹配时才启用限制。

今年晚些时候,Google Play会要新应用、更新中将targetSdkVersion设置为Level
28。相应地,Android Q会在用户首次运行API 23以下。

谷歌还准备将生态系统推向64位。今年晚些时候,Google
Play将需要在所有应用中支持64位。

推荐阅读:

《Android Q简单上手:全局暗黑模式,隐私控制增强》