每天,Android应用程序帮助数十亿人在从手机和笔记本电脑到平板电脑、电视和汽车等各种设备上工作、玩耍、交流和创建。随着越来越多的人开始依赖你积累的经验,他们的期望值可以同样快地上升。这是我们及早与您共享Android版本的原因之一:您的反馈有助于我们为您的应用程序和所有使用它们的人构建更好的平台。今天,我们将发布Android 12的第一个开发人员预览,Android的下一个版本,供您测试和反馈。
对于每个版本,我们致力于使操作系统更智能、更易于使用、性能更好,以隐私和安全为核心。在Android 12中,我们还致力于为您提供为用户构建良好体验的新工具。从兼容媒体转码开始,如果您尚未支持最新的视频格式,则可帮助您的应用程序使用最新视频格式,并更容易地将丰富内容复制/粘贴到应用程序中,如图像和视频。我们还增加了隐私保护和优化性能,以保持您的应用程序响应。
今天的第一个预览只是Android 12的开始,随着版本的发布,我们将分享更多内容。继续阅读,了解Android 12的新功能,并访问Android 12开发人员网站,了解有关Pixel下载和发布时间表的详细信息。和往常一样,尽早获得您的反馈,帮助我们将其纳入最终产品至关重要,所以请告诉我们您的想法!
除了我们在Android 12中所做的工作外,本月晚些时候,我们将分享另一个帮助您更容易创建良好用户体验的重要工具:Jetpack Compose,我们构建本机用户界面的现代工具包。加入我们#TheAndroidShow,了解太平洋时间2月24日上午9点的Jetpack Compose的幕后花絮,并使用#TheAndroidShow在推特上发布您的Jetpack Compose问题,让他们在节目中现场回答。
信任和安全
隐私是我们所做一切的核心,在Android 12中,我们继续专注于为用户提供更大的透明度和控制,同时确保他们的设备和数据安全。在今天的版本中,我们对可用于跟踪的标识符添加了新的控件、应用程序组件更安全的默认值等。这些更改可能会影响您的应用程序,因此我们建议尽快进行测试。注意稍后预览版中将有更多隐私和安全功能。
WebView中的现代SameSite Cookie行为-根据Chrome和其他浏览器的更改,WebView包含新的SameSite Cookie行为,以提供额外的安全性和隐私,并让用户对跨站点如何使用cookie有更大的透明度和控制权。这里更多。
受限的Netlink MAC-我们继续帮助开发人员迁移到保护隐私的可重置标识符。为了缓解设备范围的Netlink MAC的迁移,在Android 11中,我们根据API级别30限制了对它的访问,在Android 12中,我们对所有应用程序实施限制——无论目标SDK级别如何。这里更多。
更安全的组件导出-为了防止应用程序无意中导出活动、服务和接收器,我们正在将android:exported属性的默认处理更改为更显式。通过此更改,声明一个或多个意图过滤器的组件现在必须显式声明android:exported属性。您应该检查清单中的组件,以避免与此更改相关的安装错误。这里更多。
更安全地处理意图 - 为了使处理PendingIntents更安全,Android 12要求应用程序为每个PendingIntent显式声明一个可变标志,要么是FLAG_MUTABLE或newFLAG_IMMUTABLE。这里更多。
更好的用户体验工具
在Android 12中,我们正在关键领域投资,以帮助为用户提供抛光的体验和更好的性能。以下是迄今为止的一些更新。
兼容的媒体转码-随着HEVC硬件编码器在移动设备上的普及,相机应用程序越来越多地以HEVC格式捕获,这比旧编解码器在质量和压缩方面提供了显著的改进。大多数应用程序应该支持HEVC,但对于不支持的应用程序,我们正在引入兼容的媒体转码。
有了此功能,不支持HEVC的应用程序可以让平台自动将文件转换为AVC,这是一种广泛兼容的格式。转码过程需要时间,这取决于设备的视频和硬件属性。例如,在Pixel 4上以30fps的速度传输一分钟1080p视频大约需要9秒。您可以通过声明应用程序不支持的媒体格式来选择使用转码服务。对于开发人员,我们强烈建议您的应用程序支持HEVC,如果做不到,请启用兼容的媒体转码。该功能将在所有使用HEVC格式进行视频捕获的设备上处于活动状态。我们很想听听你对这个功能的反馈。这里更多。
AVIF图像支持-为了为您提供更高的图像质量和更有效的压缩,Android 12引入了对AV1图像文件格式(AVIF)的平台支持。AVIF是一种容器格式,用于使用AV1编码的图像和图像序列。与其他现代图像格式一样,AVIF利用了来自视频压缩的帧内编码内容。与旧的图像格式(如JPEG)相比,这极大地提高了相同文件大小的图像质量。
前台服务优化 - 前台服务是应用程序管理某些类型面向用户的任务的重要方式,但当过度使用时,它们可能会影响性能,甚至导致应用程序死亡。为了确保用户获得更好的体验,我们将阻止针对新平台的应用程序从后台开始的前台服务。为了更容易摆脱这种模式,我们正在JobScheduler中引入一个新的快速工作,该作业可以提高进程优先级、网络访问,并立即运行,无论电池保护程序或Doze等电源限制如何。为了实现反向兼容性,我们还在最新版本的Jetpack WorkManager库中构建了快速工作。此外,为了减少用户的注意力分散注意力,我们现在将一些前台服务通知的显示延迟长达10秒。这使短期任务有机会在显示通知之前完成。这里更多。
丰富的内容插入 - 用户喜欢图像、视频和其他富有表现力的内容,但在应用程序中插入和移动这些内容并不总是容易的。为了使您的应用程序易于接收丰富内容,我们正在引入一个新的统一API,允许您接受来自任何来源的内容:剪贴板、键盘或拖放。您可以将新界面OnReceiveContentListener附加到UI组件,并在通过任何机制插入内容时获得回调。此回调成为代码处理所有内容插入的单一位置,从纯文本和样式文本到标记、图像、视频、音频文件等。为了反兼容性,我们向AndroidX添加了统一的API。这里更多。
触觉耦合音频效果-在Android 12应用程序中,可以通过手机的振动器提供音频耦合触觉反馈。振动强度和频率来自音频会话,允许您创建更沉浸式的游戏和音频体验。例如,视频通话应用程序可以使用自定义铃声通过触觉反馈来识别来电者,或者您可以模拟赛车游戏中的崎岖地形。这里更多。
手势导航的沉浸模式API改进-我们简化了沉浸模式,使手势导航更简单、更一致,例如观看视频、阅读书籍或玩游戏时。在与游戏相关的全屏体验中,我们仍然在保护应用程序免受意外手势的影响,但在所有其他全屏或沉浸式体验(例如视频查看器、阅读、照片库)中,对于针对新平台的应用程序,我们正在更改默认设置,允许用户一次刷一次浏览手机。这里更多。
通知用户界面更新-我们正在刷新通知设计,使其更现代、更易于使用和更实用。在第一次预览中,您将注意到抽 ?? 和控件对模板本身的更改。我们还在优化整个系统的过渡和动画,使其更流畅。作为更新的一部分,对于针对Android 12的应用程序,我们正在用图标的自定义内容装饰通知,并扩展启示以匹配所有其他通知。这里更多。
更快、响应更快的通知-当用户点击通知时,他们希望立即跳转到应用程序-越快越好。为了满足这一期望,开发人员应确保通知点击触发活动直接启动,而不是使用“蹦床”——中介广播接收器或服务——来启动活动。通知蹦床会造成显著的延迟,影响用户体验。为了保持通知的响应性,Android 12将通过阻止通知蹦床启动目标活动来阻止它们,我们要求开发人员远离这种模式。这一变化仅适用于针对新平台的应用程序,但对于所有应用程序,我们将显示敬酒词,使您和用户可以看到蹦床。这里更多。
Improved Binder IPC calls - As part of our work on performance, we’ve put a focus on reducing system variability. We’ve taken a look at latency and workload distribution, and made optimizations that reduce the median experience from the tail end, or 99% percentile use case. In doing so, we’ve targeted improvements to system binder calls adding lightweight caching strategies and focusing on removing lock contention to improve latency distribution. This has yielded roughly a 2x performance increase on Binder calls overall, with significant improvements in specific calls, for example a 47x improvement in refContentProvider()
, 15x in releaseWakeLock()
, and 7.9x in JobScheduler.schedule()
.
应用程序兼容性
在推出新平台版本时,我们致力于通过优先考虑应用程序兼容性,使更新更快、更流畅。在Android 12中,我们进行了大多数面向应用程序的更改,以给您更多时间,并更新了工具和流程,以帮助您更快做好准备。我们还为Google Play系统更新添加了新功能,为您的应用程序在Android 12设备上提供更好的环境。
通过Google Play更新更多Android-我们正在继续扩大对Google Play系统更新(Project Mainline)的投资,为应用程序提供更一致、更安全的设备环境。在Android 12中,我们添加了Android运行时(ART)模块,允许我们将更新推送到运行Android 12的设备上的核心运行时和库。我们可以提高运行时性能和正确性,更有效地管理内存,并使Kotlin操作更快——所有这些都不需要完整的系统更新。我们还扩展了现有模块的功能——例如,我们正在可更新模块内提供兼容的媒体转码功能。
优化平板电脑、可折叠设备和电视 - 随着在可折叠设备、平板电脑和电视等大屏幕设备上使用应用程序的人比以往任何时候都多,现在是确保您的应用程序或游戏准备就绪的绝佳时机。开始优化平板电脑和构建可折叠应用程序。而且,对于家里最大的屏幕,Android TV的第一个Android 12预览版也可用。除了通过此预览将最新的安卓功能带入电视外,您还可以在全新的谷歌电视体验上测试您的应用程序。在Android TV Developers网站上了解更多信息,并开始使用您的ADT-3开发人员工具包。
更新了非SDK接口列表-我们限制了其他非SDK接口,一如既往,欢迎您对公共API等效物的反馈和请求。
更容易地测试和调试更改 - 为了使您更容易测试可能影响应用程序的选入更改,我们使其中许多更改可以切换。通过切换,您可以强制启用或禁用开发人员选项或adb中的更改。查看此处的详细信息。
应用程序兼容性在开发人员选项中切换。
平台稳定性里程碑-与去年一样,我们提前让您了解我们的平台稳定性里程碑,让您有更多时间计划应用程序兼容性工作。在这个里程碑上,我们不仅将提供最终的SDK/NDK API,还将提供最终的内部API和面向应用程序的系统行为。我们预计在2021年8月之前达到平台稳定性,在正式发布前几周,您将进行最终测试。发布时间表的详细信息在这里。
开始使用Android 12
开发人员预览拥有尝试Android 12功能、测试应用程序和给我们反馈所需的一切。您今天可以通过将设备系统映像闪存到像素3/3 XL、像素3a/3a XL、像素4/4 XL、像素4a/4a 5G或像素5设备开始。如果您没有像素设备,您可以在Android Studio中使用64位系统映像和Android模拟器。
当您设置时,您应该做以下一些事情:
- 尝试新功能和API-在开发人员预览的早期阶段,您的反馈至关重要。报告我们跟踪器中的问题,或通过调查直接反馈我们,从反馈和请求页面中选择的功能。
- 测试您当前应用程序的兼容性-这里的目标是了解您的应用程序是否受到Android 12中默认行为更改的影响。只需将当前发布的应用程序安装到运行Android 12的设备或模拟器上并进行测试。
- 使用选择加入更改测试您的应用程序 - Android 12 有选择加入行为更改,这些更改仅在您的应用程序针对新平台时才会影响它。尽早理解和评估这些变化极其重要。为了便于测试,您可以单独打开和关闭更改。
我们将在整个Android 12发布周期定期更新预览系统图像和SDK。此初始预览版本仅供开发人员使用,不供日常或消费者使用,因此我们仅通过手动下载提供。您可以将工厂映像闪存到您的Pixel设备,也可以将OTA映像侧加载到运行Android 11的Pixel设备,在这种情况下,您不需要解锁引导加载程序或擦除数据。无论哪种方式,一旦您手动安装了预览版号,您将自动获得所有后续预览版和测试版的未来更新。这里更多。
随着我们接近最终产品,我们也会邀请消费者试用,届时我们将通过Android Beta开放注册。敬请期待详情,但目前请注意,Android Beta版目前不适用于Android 12。
有关完整信息,请访问Android 12开发人员网站。
评论 (0)