作者 / Dave Burke,工程副总裁
从手机和笔记本电脑,再到平板电脑、电视甚至汽车,Android 利用每天都在各种设施上反对着数十亿人的工作、娱乐、交换和发明。当越来越多的人开始依赖您所构建的体验,人们的冀望也跟着水涨船高。咱们深信,Android 开发者们的反馈有助于咱们为您的利用和所有用户构建一个更好的平台。咱们曾经公布了 Android 12 (下一代 Android 零碎) 的第一个开发者预览版,供您测试和提交反馈。
对于每一个版本,咱们都致力于使操作系统更智能、更易用、更强劲,并且始终以隐衷和平安为外围。在 Android 12 中,咱们还将为您提供新的工具,帮忙您为用户打造更杰出的体验。首先是兼容媒体转码,即使您的利用尚不反对,这个性能也能够帮忙利用应用最新的视频格式。此外,图像和视频等富媒体内容当初能够更轻松地复制 / 粘贴到您的利用里。咱们还将增加隐衷爱护并优化性能,使您的利用放弃及时响应。
首个预览版只是 Android 12 的开始,随着公布的进行,咱们会有更多的内容分享给开发者。请持续浏览本文,理解 Android 12 的最新变动,并拜访 Android 12 开发者网站,获取无关 下载并装置到 Pixel 设施 和 公布时间表 的详细信息。与平常一样,尽早取得您的反馈并将其纳入最终产品对咱们来说十分重要,因而请务 必通知咱们您的想法!
除了咱们在 Android 12 中所做的工作之外,咱们还公布了另一个重要工具的最新进展,那就是能够帮忙您更轻松地创立杰出用户体验的 Jetpack Compose,这是咱们用于构建原生界面的新一代工具包。欢迎您在评论区留言,通知咱们对 Jetpack Compose 最关切的问题。
信赖和平安
隐衷是咱们所有工作的外围,在 Android 12 中,咱们持续专一于为用户提供更多的透明度和控制权,同时保障设施和数据安全。在新版本中咱们做出了很多改变,包含对可用于跟踪的标识符减少了新的限度,为利用组件减少了更平安的默认值,等等。这些变更可能会对利用产生影响,因而,咱们建议您尽快开始测试。同时,请持续注意将在后续预览版中提供的更多隐衷和平安性能。
WebView 中的古代 SameSite cookie 行为 – WebView 适应 Chrome 和其余浏览器的 变动,退出了新的 SameSite cookie 行为,提供额定的安全性和隐衷性,让用户对 cookie 跨站点的应用形式领有更多的透明度和控制权。请拜访 官网文档 理解详细信息。
限度应用 Netlink MAC – 咱们将持续帮忙开发者迁徙到 爱护隐衷的可重置标识符。为了在屡次版本公布中简化设施级别 Netlink MAC 的迁徙,咱们在 Android 11 中将这个性能限度在了 API 级别 30。而在 Android 12 中,无论 targetSDK 级别是多少,咱们将对所有利用施加这一限度。请拜访 官网文档 理解详细信息。
更平安地导出组件 – 为了避免利用意外导出 activity、服务和接收器,咱们更改了 android:exported 属性的默认解决形式,使其更加明确。借助这项变更,申明一个或多个 intent 过滤器的组件当初必须显式申明一个 android:exported 属性。您应查看清单文件中的组件,防止与此变更相干的装置谬误。请拜访 官网文档 理解详细信息。
更平安地解决 Intent – 为了使 PendingIntents 的解决更加平安,Android 12 要求利用为每个 PendingIntent 显式申明一个可变性标记,即 FLAG_MUTABLE 或新的 FLAG_IMMUTABLE。请拜访 官网文档 理解详细信息。
更多的 隐衷与平安变更.
更好的用户体验工具
在 Android 12 中,咱们在欠缺体验和改良性能的要害畛域继续投入资源。以下是目前的局部停顿。
兼容媒体转码 (compatible media transcoding) – 随着 HEVC 硬件编码器在挪动设施上的遍及,相机利用也多以 HEVC 格局进行拍摄。与旧的编解码器相比,HEVC 在品质和压缩方面都具备显著晋升。大多数利用都应反对 HEVC,但对于无奈反对 HEVC 的利用,咱们引入了兼容媒体转码。
借助此性能,不反对 HEVC 的利用能够让平台主动将文件转码为宽泛兼容的 AVC 格局。转码过程须要肯定工夫,具体取决于视频的内容和设施的硬件属性。例如,30fps 的一分钟 1080p 视频在 Pixel 4 上转码须要 9 秒左右。您能够通过申明利用不反对的媒体格式来抉择应用转码服务。咱们强烈建议开发者使利用反对 HEVC,如果无奈反对,再启用兼容媒体转码。该性能将在所有应用 HEVC 格局进行视频拍摄的设施上启用。咱们心愿听到您对此性能的反馈。请拜访 官网文档 理解详细信息。
AVIF 图像反对 – Android 12 引入了对 AV1 图像文件格式) (AVIF) 的平台反对,提供更高的图像品质和更高效的压缩。AVIF 是一种应用 AV1 编码的图像和图像序列的容器格局。与其余古代图像格式一样,AVIF 利用了视频压缩的帧内编码内容。相较于旧的图像格式 (如 JPEG),在雷同的文件大小下,AVIF 能够极大地提高图像品质。
△ 上图: AVIF (18.2kB);下图: JPEG (20.7kB)
图源:《AVIF 曾经到来》中的 图像比照,作者 Jake Archibald
前台服务优化 – 前台服务是利用治理某些面向用户工作的重要形式,但适度应用会影响性能,甚至导致利用被零碎终止。为了确保用户取得更好的体验,对于以新平台为指标的利用,咱们将阻止从后盾启动前台服务。为了帮忙大家更轻松地解脱这种做法,咱们在 JobScheduler 中引入了一个新的 加急作业 (expedited job)),该作业具备较高的过程优先级、网络拜访权限,并且立刻运行,不受省电模式 (Battery Saver) 或低电耗模式 (Doze) 等电耗束缚的影响。为了实现向下兼容,咱们还将加急作业集成到了最新版本的 Jetpack WorkManager 库 中。另外,为了加重对用户的烦扰,咱们当初将局部前台服务告诉的显示提早了最多 10 秒。这使短暂的工作有机会在告诉显示之前实现。请拜访 官网文档 理解详细信息。
富内容插入 (rich content insertion) – 用户喜爱看图像、视频和其余富裕表现力的内容,但在利用中插入和挪动这些内容并不总是那么容易。为了让您的利用可能疾速接管富内容,咱们引入了一个新的对立 API,让您可能承受任何起源的内容: 剪贴板、键盘或拖放。您能够将新接口 OnReceiveContentListener 附加到界面组件上,并在通过任何机制插入内容时取得回调。此回调将成为代码解决所有内容插入的惟一地位,从纯文本和款式文本到标记、图像、视频、音频文件等。为了实现向下兼容,咱们已将对立的 API 退出了 AndroidX。请拜访 官网文档 理解详细信息。
音频耦合触感成果 (audio-coupled haptic effect) – 在 Android 12 中,利用能够通过手机的振动单元提供音频耦合触感反馈。振动强度和频率来自于音频会话,让您能够创立更沉迷的游戏和音频体验。例如,视频通话利用能够应用自定义铃声,通过触感反馈辨认复电者,您还能够在赛车游戏中模仿起伏地貌。请拜访 官网文档 理解详细信息。
多声道音频 – Android 12 为蕴含空间信息的音频带来了多项加强。增加了对 MPEG-H 透传 (passthrough) 和分载 (offload) 模式的播放反对,音频混音器、重采样器和成果通过优化,反对多达 24 个通道 (过来最大仅反对 8 个)。
手势导航的沉迷模式 API 改良 – 咱们简化了沉迷模式,使手势导航在多种场景下,如观看视频、浏览书籍或玩游戏时,更简略、更连贯。在游戏相干的全屏体验中,咱们依然会 爱护利用不受意外手势的影响,但在所有其余全屏或沉迷式体验中 (如视频播放器、浏览、图册),对于针对新平台的利用,咱们将扭转默认设置,容许用户通过单次滑动来进行导航。请拜访 官网文档 理解详细信息。
告诉界面更新 – 咱们对告诉设计进行改版,使其更古代、更易用、更实用。在首个预览版中,您能够发现从抽屉式导航栏和控件到模板自身都有所变动。咱们还优化了整个零碎的转场和动画,使其更加晦涩。作为更新的一部分,对于针对 Android 12 的利用,咱们会应用自定义内容、图标以及开展提醒来对告诉进行丑化,从而使其观感与其余告诉统一。请拜访 官网文档 理解详细信息。
更快、更灵活的告诉 – 用户点按告诉时,冀望的是立刻跳转到利用,越快越好。为了满足这一冀望,开发者需确保点击告诉应间接触发 Activity 启动,而不是应用 “ 蹦床 ” (通过播送接收器或服务) 启动 Activity。告诉蹦床会造成显著的提早,影响用户体验。为了放弃告诉的响应速度,Android 12 将阻止告诉蹦床启动指标 Activity,咱们也要求开发者不再应用这种实际模式。此项变更仅实用于针对新平台的利用,但对于所有利用,咱们都会显示音讯框,使您和用户能够看到蹦床。请拜访 官网文档 理解详细信息。
改良的 Binder IPC 调用 – 在晋升性能方面,咱们关注如何升高零碎可变性。通过对提早和工作负载散布的深刻察看,咱们做出优化,缩小了末端的中位数体验 (或 99% 的用例)。在此期间,咱们有针对性地改良了零碎绑定调用,减少了轻量级缓存策略,并专一于打消锁争用以改善提早散布。这样一来,Binder 调用整体性能晋升约 2 倍,特定调用的性能晋升显著,如 refContentProvider() 晋升了 47 倍、releaseWakeLock() 晋升了 15 倍、JobScheduler.schedule() 晋升了 7.9 倍。
利用兼容性
公布新的平台版本时,咱们优先思考利用的兼容性,让零碎更新的体验更快、更顺畅。在 Android 12 中,大多数面向利用的变更都是可选的,以便您有更多工夫调整适应。咱们还更新了工具和流程,帮忙您更快做好筹备。咱们还为 Google Play 零碎更新增加了新性能,在 Android 12 设施上为您的利用提供更好的运行环境。
通过 Google Play 进行更多的 Android 更新 – 咱们将持续扩充对 Google Play 零碎更新 (Project Mainline) 的投入,为各设施上的利用营造更统一、更平安的环境。Android 12 新增了 Android Runtime (ART) 模块,反对向 Android 12 设施的外围运行时和库推送更新。咱们能够进步运行时的性能和正确性,更无效地治理内存,并使 Kotlin 操作更为迅速 —— 这些都不再须要残缺的零碎更新。咱们还扩大了现有模块的性能,例如,咱们在一个可更新模块中提供了兼容媒体转码性能。
针对平板电脑、可折叠设施和电视的优化 – 随着越来越多的人开始在可折叠设施、平板电脑和电视等大屏幕设施上应用利用,当初是确保您的利用或游戏为这些设施做好筹备的大好时机。您能够从 针对平板电脑进行优化 和 为可折叠设施构建利用 开始着手。同时,针对家庭中最大的屏幕,首个实用于 Android TV 的 Android 12 预览版也已推出。您不仅能够通过此预览版将最新的 Android 性能带到电视,还能够在全新的 Google TV 环境测试您的利用。请返回 Android TV 开发者网站 理解更多信息并应用 ADT-3 开发者工具包 上手开发。
非 SDK 接口列表更新 – 咱们减少了受限制的 非 SDK 接口,和平常一样,咱们期待着您的反馈,也欢迎您 提出公开 API 的需要。
更轻松地针对变更进行测试和调试 – 为了让您更轻松地测试会影响利用的可选变更,咱们曾经将许多变更设置为可开关。您能够在开发者选项或 adb 中通过这些开关逐个强制启用或停用这些变更。请拜访 官网文档 理解详细信息。
△ 开发者选项中的利用兼容性切换开关
平台稳定性里程碑 – 和去年一样,咱们会提前告知咱们的平台稳定性里程碑,让您有更多的工夫布局利用兼容性工作。在此里程碑,咱们不仅会锁定最终版的 SDK/NDK API,还会锁定最终外部 API 和面向利用的零碎行为。咱们预计将在 2021 年 8 月到达平台稳定性里程碑。这样在正式公布前,您将有几周的工夫进行最终测试。公布时间表详见: https://developer.android.google.cn/about/versions/12/overview
即刻开始体验 Android 12
不管您想体验 Android 12 的性能、测试利用还是 提交反馈,都能够从这次的开发者预览版开始。只需将设施零碎映像 下载并刷入 Pixel 3 / 3 XL、Pixel 3a / 3a XL、Pixel 4 / 4 XL、Pixel 4a / 4a 5G 或 Pixel 5 设施,即可立刻开始应用。如果您没有 Pixel 设施,能够将 64 位零碎映像刷入 Android Studio 中的 Android Emulator 应用。
设置 结束后,您能够:
- 体验新性能和 API – 在开发者预览版的晚期阶段,您的反馈至关重要。您能够在咱们的跟踪页报告问题,也能够返回 反馈和需要 页面,通过特定性能的考察问卷提供间接反馈。
- 测试您现有利用的兼容性 – 这是为了理解您的利用是否受到 Android 12 中默认行为变更的影响。您只须要将以后公布的利用装置到运行 Android 12 的设施或模拟器上并开始测试即可。
- 应用可选变更项测试您的利用 – Android 12 领有可选的行为变更,这些变更仅在您的利用以新平台为指标时才会造成影响。尽早理解和评估这些变更十分重要。为了更易于测试,您能够 独自启用或禁用这些变更。
咱们将在整个 Android 12 公布周期内定期更新预览版零碎映像和 SDK。这次公布的初始预览版 仅供开发者应用 ,不面向日常或消费者应用,因而咱们 仅提供手动下载。您能够将零碎映像刷入 Pixel 设施,或在运行 Android 11 的设施上加载 (sideload) OTA 映像,在后一状况下您甚至不须要解锁疏导加载程序 (bootloader) 或擦除数据。而无论应用哪种形式,在手动装置预览版本后,您都将可能通过无线形式主动获取将来所有后续预览版和 Beta 版更新。请拜访 官网文档 理解详细信息。
当咱们靠近最终产品时,咱们也将邀请消费者试用,届时将凋谢 Android Beta 注册。敬请关注后续信息,但 目前 Android 12 尚未提供 Beta 版本。
理解本次公布的残缺信息,请拜访 Android 12 开发者网站。