作者 / Dave Burke,工程副总裁

几周后就是大家翘首以盼的 Google I/O 2021,我们已经迫不及待想要和大家分享 Android 相关的最新消息了!在这之前,我们为大家带来了 Android 12 最新的里程碑版本: 开发者预览版 3,欢迎大家试用和分享反馈。

在 Android 12 中,我们继续致力于让操作系统更智能、更易用、更强劲,并且始终以隐私和安全为核心。我们还会为您提供新的工具,帮助您为用户打造更出色的体验,不论用户使用的是手机、笔记本电脑、平板电脑、电视还是汽车。今天的开发者预览版中值得关注的新特性包括: 全新的应用启动体验;新的视频和摄像头功能,帮助您更好地释放底层硬件能力;新的精确闹钟权限,以帮助用户节省电量。

请继续阅读本文了解更多发布亮点。如需了解本次预览版的详情,并获取有关下载并安装到 Pixel 设备的信息,请访问 Android 12 开发者网站。如果您已经安装了开发者预览版 2,我们还将提供无线 (OTA) 更新。和以往一样,请告诉我们您的想法,再次感谢每一位用户的宝贵反馈。

  • Android 12 开发者网站

    https://developer.android.google.cn/about/versions/12

  • 提交反馈

    https://developer.android.google.cn/about/versions/12/feedback

更好的用户体验工具

今天发布的新版本为您带来了新的工具,助您为用户提供更加精美的体验和更好的性能。下面介绍其中的一些亮点。

改进的应用启动体验 - Android 12 中应用启动的体验更加一致,更令人愉悦。我们为所有应用添加了新的应用启动动画,在启动时屏幕会显示应用图标,并过渡到应用本身。新的体验为每个应用的启动带来了标准化的设计元素,但我们也允许进行定制,以便应用保持自己独特的品牌特色。例如,您可以使用新的 SplashScreen (启动屏幕) API 和资源来管理启动屏幕的背景颜色,用自定义图标或动画来替换静态的启动图标,控制呈现应用的时机,指定这套体验是使用浅色模式或是深色模式,还可以管理退出动画。

  • SplashScreen (启动屏幕)

    https://developer.android.google.cn/reference/android/window/SplashScreen

  • 启动屏幕背景颜色

    https://developer.android.google.cn/reference/android/R.attr#windowSplashScreenBackground

  • 使用自定义图标

    https://developer.android.google.cn/reference/android/R.attr#windowSplashScreenBrandingImage

  • 使用动画图标

    https://developer.android.google.cn/reference/android/R.attr#windowSplashScreenAnimatedIcon

  • 管理退出动画

    https://developer.android.google.cn/reference/android/window/SplashScreen.OnExitAnimationListener

所有应用都已默认启用了这个新特性,您无需做任何事情即可获益。我们建议您在应用中尽快测试这个新特性,尤其是已经在使用启动屏幕的应用。欢迎大家查看新的 API 并开始定制应用启动体验,并和我们分享使用反馈。请访问官方文档了解详细信息:

https://developer.android.google.cn/about/versions/12/features/splash-screen

新的通话通知模板 - 正在拨入或进行的通话对用户来说很重要,它们需要易于查看和管理。在 Android 12 中,我们改进了呼叫通知,提升了可见性,且更易于快速浏览,并加强了与其他通知组件的一致性。如果您的应用 (比如拨号器应用或带有视频通话的聊天应用) 能够提供电话功能,不妨试试新增的 CallStyle 模板。您可以用它来创建来电、呼出和屏蔽电话的通知。每种类型都支持多种操作,包括默认操作和应用自定义操作。您还可以附加大型头像图片,提供文字,并设置按钮颜色。操作系统赋予了 CallStyle 通知高度的可见性,比如将它们置于通知区块的顶部。请访问官方文档了解详细信息。

  • 官方文档: 新的通话特性

    https://developer.android.com/about/versions/12/features#new-calls

  • CallStyle

    https://developer.android.google.cn/reference/android/app/Notification.CallStyle.html

精确闹钟的新权限 - 闹钟是应用安排定时工作的重要方式。在大多数情况下,应用应该使用非精确闹钟 (inexact alarms),这样可以减少电池消耗。Android 系统可以通过低电耗模式 (Doze) 和应用待机模式 (App Standby) 等机制管理这些闹钟,从而最大限度地减少设备唤醒和电池消耗。对于那些需要精确闹钟的情况,例如闹铃应用和定时器,您仍然可以使用精确闹钟 (exact alarms)。精确闹钟功能非常方便可靠,但也会加大电量消耗,在过度使用的情况下尤其如此。所以在 Android 12 中,我们正在做出一些改变,让用户拥有更多的控制权。

  • 非精确闹钟

    https://developer.android.google.cn/reference/android/app/AlarmManager#setAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)

  • 针对低电耗模式和应用待机模式进行优化

    https://developer.android.google.cn/training/monitoring-device-state/doze-standby

  • 精确闹钟

    https://developer.android.google.cn/reference/android/app/AlarmManager#setExact(int,%20long,%20android.app.PendingIntent)

针对 Android 12 的应用如果想要使用精确闹钟,现在需要申请一个新的权限: SCHEDULE_EXACT_ALARM。这是一个一般权限,所以只要您的应用在清单中进行了声明,就会在第一次启动时被自动授予该权限。不过,我们也会让用户看到拥有这个权限的应用,并让他们通过设置中的特殊应用权限 (Special App Access Permissions) 授予和撤销这个 "闹钟和提醒" 权限。如果您的应用需要精确闹钟,请务必处理好应用不再拥有这个权限的情况。我们已经添加了一个新的 API,canScheduleExactAlarms(),供您检查应用的权限状态。一般来说,我们建议您尽可能将应用调整为不再需要使用精确闹钟。请访问官方文档了解详细信息。

  • 官方文档: 精确闹钟权限

    https://developer.android.com/about/versions/12/behavior-changes-12#exact-alarm-permission

  • SCHEDULE_EXACT_ALARM

    https://developer.android.google.cn/reference/android/Manifest.permission#SCHEDULE_EXACT_ALARM

  • canScheduleExactAlarms()

    https://developer.android.google.cn/reference/android/app/AlarmManager.html#canScheduleExactAlarms()

改进的网络链接 - 在 Android 12 中,我们正在做出一些改变,以确保用户能更快速顺畅地访问内容。首先,我们修改了对未经 Android 应用链接 (App Links) 验证或者未经用户手动批准的链接的处理方式。现在操作系统会直接在默认浏览器中打开这些链接,而不是展示一个选择对话框。为了让用户更容易批准您的应用使用链接,我们准备了一个新的 Intent 来将用户带到设置的 "默认打开方式" 选项中。如果您希望确保只有您的应用能处理来自您的域的链接,您可以使用 App Links。我们还添加了新的 adb 命令来帮助您配置和测试自己的链接。请访问官方文档了解详细信息。

  • 官方文档: 网络 Intent 解决方案

    https://developer.android.google.cn/about/versions/12/web-intent-resolution

  • Android 应用链接

    https://developer.android.google.cn/training/app-links

  • 新的 Intent

    https://developer.android.google.cn/reference/android/provider/Settings?ENABLE_REBRAND=false#ACTION_APP_OPEN_BY_DEFAULT_SETTINGS

丰富的震动体验 - 我们扩展了提供的工具,用来为 UI 事件打造富有情景感的震动反馈,为游戏提供更沉浸愉悦的体验,以及营造有助于提升生产力的触觉效果。通过活用最新震动单元提供的更宽广的频率范围,我们带来了更具表现力的震动效果,比如 "低声滴答"。游戏开发者也可以控制游戏手柄里的多个不同的震动单元,让它们同步产生相同的震动效果,或是通过多个单元的组合产生不同的效果。我们推荐开发者使用这些常量和原语来构建丰富的震动效果: 常量用于强化 UI 事件,震动合成器 (haptic composer) 用于组合不同的原语来实现更复杂的效果。您现在可以在 Pixel 4 设备上完整体验这些 API,我们也在和设备制造商合作伙伴们一起为生态系统内的用户们带来最新的震动支持。

  • 低声滴答: PRIMITIVE_LOW_TICK

    https://developer.android.google.cn/reference/android/os/VibrationEffect.Composition#PRIMITIVE_LOW_TICK

  • 震动单元: VibratorManager

    https://developer.android.google.cn/reference/android/os/VibratorManager.html

  • 多个震动单元: CombinedVibrationEffect

    https://developer.android.google.cn/reference/android/os/CombinedVibrationEffect.html

  • 常量: HapticFeedbackConstants

    https:///developer.android.google.cn/reference/android/view/HapticFeedbackConstants

  • 原语/震动合成器: VibrationEffect.Composition

    https://developer.android.google.cn/reference/android/os/VibrationEffect.Composition#summary

视频编码改进 - Android 12 对控制视频编码量化参数 (Quantization Parameter, QP) 范围的键集进行了标准化,使开发者能够规避厂商专用代码。新的键已经加入 MediaFormat API 和 NDK Media 库。此外,视频编码方需要设置最低视频质量阈值,以确保当视频比较复杂时用户不会看到极低质量的画面。

  • MediaFormat API

    https://developer.android.google.cn/reference/android/media/MediaFormat.html#KEY_VIDEO_QP_B_MAX

  • NDK Media 库

    https://developer.android.google.cn/ndk/reference/group/media

Camera2 设备厂商扩展 - 我们的许多设备厂商合作伙伴已经构建了自定义的摄像头效果,比如散景 (bokeh)、HDR、夜间模式等,他们希望应用能够使用这些效果,从而在各自的设备上创造出差异化的体验。我们已经通过 CameraX 库中的一组厂商扩展为这些自定义效果提供了支持,现在在 Android 12 中,我们也将在平台中直接提供这些厂商扩展。这样一来,那些拥有复杂的 Camera2 实现的应用就可以方便地使用这些扩展,而无需对之前的代码进行重大修改。扩展 API 提供的效果与 CameraX 中的效果完全相同,而且这些效果已经在许多不同的设备上得到支持,因此您可以开箱即用。请访问官方文档了解详细信息。

  • 官方文档: CameraExtensionCharacteristics

    https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionCharacteristics

  • CameraX: 设备厂商扩展

    https://developer.android.google.cn/training/camerax/vendor-extensions

  • Camera2

    https://developer.android.google.cn/reference/android/hardware/camera2/package-summary

  • CameraX 设备

    https://developer.android.google.cn/training/camerax/devices

四拜耳 (Quad bayer) 摄像头传感器支持 - 如今,许多 Android 设备都配备了超高分辨率的摄像头传感器,通常采用四/九 (quad / nona) 拜耳模式,在图像质量和低光性能方面提供了极大的灵活性。在 Android 12 中,我们将引入新的平台 API,让第三方应用能够充分利用这些强大灵活的传感器。新的 API 支持这些传感器的独特行为,并考虑到了它们在全分辨率或 "最大分辨率" 模式与 "默认" 模式下运行时可能支持不同的流配置与组合。

  • CameraMetadata

    https://developer.android.google.cn/reference/android/hardware/camera2/CameraMetadata.html#REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR

更快的机器学习 - 在 Android 12 中,我们通过在关键领域的投入,使得开发者们能充分利用 ML 加速器,并通过 Neural Networks API 始终获得最佳的性能表现。在性能方面,通过引入填充、同步隔离和可重用执行对象等手段,我们得以将推断调用的开销降低了一半以上。我们还通过 Google Play 服务让 ML 加速器驱动得以独立于平台版本进行更新。这让开发者们能在任何兼容的设备上使用最新的驱动,同时也让 ML 的性能改进和错误修复得以更快地抵达用户手中。

标准化 GPU 计算 - 我们正在废弃 RenderScript APIs,转而采用跨平台的 GPU 计算解决方案,如 Vulkan 和 OpenGL。我们希望您可以充满信心地在 GPU 硬件上运行高性能工作负载。现在许多设备在出厂时仅支持使用 CPU 运行 RenderScript。现有的 API 将暂时继续工作,我们已经开源了一个 RenderScript 内置函数库,包含诸如使用高度优化的内置函数平台代码实现的模糊。我们还提供了使用 Vulkan 进行图像处理的示例和迁移指南。请阅读官方博文了解详细信息:

https://android-developers.googleblog.com/2021/04/android-gpu-compute-going-forward.html

更好地调试原生代码崩溃 - 开发者们向我们反馈道,调试 NDK 相关的崩溃很困难。在 Android 12 中,我们提供了更多可操作的诊断,让调试变得更加简单。在这个平台上,我们使用崩溃转储文件 (称为 tombstone) 来调试原生崩溃,文件里包含了诊断各种问题所需的信息,包括通过 ART 进行调用堆栈展开 (unwinding),与 fdsan 集成,以及针对 GWP-ASan/HWASan/MTE 崩溃堆栈生成的录制文件。现在,我们通过 App Exit Reasons API,让应用得以访问其自身的 tombstone 文件。当您的应用通过 REASON_CRASH_NATIVE 使用 ApplicationExitInfo 时,您可以调用 getTraceInputStream() 来获取 protobuf 格式的 tombstone 数据。

  • 崩溃转储和 Tombstone

    https://source.android.google.cn/devices/tech/debug#debuggerd

  • 文件描述符排错程序 (fdsan)

    https://developer.android.google.cn/about/versions/11/behavior-changes-all#fdsan

  • GWP-ASan

    https://developer.android.google.cn/ndk/guides/gwp-asan

  • HWASan

    https://source.android.google.cn/devices/tech/debug/hwasan

  • MTE

    https://source.android.google.cn/devices/tech/debug/tagged-pointers

  • App Exit Reasons API

    https://developer.android.google.cn/reference/kotlin/android/app/ActivityManager#gethistoricalprocessexitreasons

  • REASON_CRASH_NATIVE

    https://developer.android.google.cn/reference/kotlin/android/app/ApplicationExitInfo#reason_crash_native

  • ApplicationExitInfo

    https://developer.android.google.cn/reference/kotlin/android/app/ApplicationExitInfo

  • getTraceInputStream()

    https://developer.android.google.cn/reference/android/app/ApplicationExitInfo#getTraceInputStream()

更灵活的备份配置 - Android 的备份服务让用户可以毫不费力地将数据还原或迁移到新设备上。应用是用户体验的核心,确保用户能够转移应用数据,并继续使用应用十分重要。备份服务既支持云端备份到 Google Drive,也支持设备到设备的传输,开发者只需对应用进行极小的改动,就可以使用这些功能。对于以 Android 12 为目标的应用,我们正在改进服务,为您提供更多的灵活性和控制权。我们更新了 XML 配置格式,因此您现在可以为云端备份和设备到设备传输设置不同的规则。例如,您可以将体积较大的文件从云端备份中排除,但在设备到设备的传输中将其加入。您还可以为备份或传输分别设置加密需求。最后,如果您想关闭设备到设备传输的自动备份,请使用新的配置格式代替 allowBackup 清单属性。请访问官方文档了解详细信息。

  • 官方文档: 备份还原

    https://developer.android.google.cn/about/versions/12/backup-restore

  • allowBackup

    https://developer.android.google.cn/reference/android/R.attr.html#allowBackup

前往 Android 12 开发者网站详细了解 Android 12 的新功能和行为变更:

https://developer.android.google.cn/about/versions/12

应用兼容性

在推出新的平台版本时,我们会优先考虑应用的兼容性,让系统更新的体验更快速、更顺畅。在 Android 12 中,大多数面向应用的变更都是可选的,让您有更多时间调整适应。我们还更新了工具和流程,帮助您更快做好准备。

开发者预览版 3 的推出,意味着我们在进一步提升稳定性的同时,也朝着第一个 Beta 版本更近了一步。现在大家可以体验新功能和变更,并告诉我们这些特性在您的应用中表现如何。请访问反馈页面,与我们分享您的想法或报告问题。

  • 反馈与需求

    https://developer.android.google.cn/about/versions/12/feedback

Android 12 第一个 Beta 版即将到来,是时候开始进行兼容性测试,并确保您的应用准备就绪了。我们建议您在未来几周发布一个兼容更新。目前暂时不需要更改应用的 targetSdkVersion,但您可以通过行为变更切换开关来初步了解 Android 12 的可选变更对您的应用可能造成的影响。

  • 迁移至 Android 12

    https://developer.android.google.cn/about/versions/12/migration

  • 兼容框架变更

    https://developer.android.google.cn/about/versions/12/reference/compat-framework-changes

我们将于 2021 年 8 月达到平台稳定性里程碑,届时所有面向应用的系统行为、SDK/NDK API 和非 SDK 列表都将最后确定。届时您就可以完成最终兼容性测试,发布完全兼容的应用、SDK 或开发库。发布时间表详见:

https://developer.android.google.cn/preview/overview

  • 平台稳定性里程碑

    https://developer.android.google.cn/about/versions/12/overview#platform_stability

△ 开发者选项中的应用兼容性切换开关

即刻开始体验 Android 12

不论您是想体验 Android 12 的功能、测试应用还是提交反馈,都可以从这次的开发者预览版开始。只需将设备系统映像下载并刷入 Pixel 3 / 3 XLPixel 3a / 3a XLPixel 4 / 4 XLPixel 4a / 4a 5GPixel 5 设备,或使用 Android 模拟器,即可立即开始使用。如果您已在自己的 Pixel 设备中安装了预览版,您将通过无线 (OTA) 方式自动获得包括 Beta 版在内的所有后续更新。请访问官方文档了解详细信息。

  • 官方文档: 获取 Android 12

    https://developer.android.google.cn/about/versions/12/get

  • 分享使用反馈

    https://developer.android.google.cn/about/versions/12/feedback

  • 获取系统映像

    https://developer.android.google.cn/about/versions/12/download

了解本次发布的完整信息,请访问 Android 12 开发者网站:

https://developer.android.google.cn/about/versions/12

推荐阅读

如页面未加载,请刷新重试

 即刻体验 Android 12 的最新特性!点击屏末  | 分享您的使用反馈


欢迎体验 | Android 12 开发者预览版 3相关推荐

  1. 欢迎体验 | Android 13 开发者预览版 2

    作者 / Dave Burke, VP of Engineering 上个月,我们 发布了 Android 13 的首个开发者预览版.Android 13 围绕我们的核心主题打造,即隐私和安全.开发者 ...

  2. Android 12开发者预览版现已发布,包含众多亮点,Android码农是如何进入腾讯的

    Android 12 将支持空间音频与MPEG-H,并为高达24个音频通道进行了优化(之前仅有8个).它还将使开发者更容易将「隆隆声」效果与音频联系起来. 谷歌似乎正在将注意力放在AV1图像文件格式( ...

  3. 小米Android12,小米11系列支持安卓12开发者预览版 还有一加9系列

    原标题:小米11系列支持安卓12开发者预览版 还有一加9系列 [手机中国新闻]北京时间5月19日凌晨,谷歌年度开发者大会落下帷幕,会上公布了Android 12的相关信息,可以用户自定义的主题受到了广 ...

  4. android开发者预览计划弹窗,vivo公布Android 12开发者预览计划 iQOO 7同步适配

    北京时间5月19日凌晨,谷歌年度开发者大会落下帷幕,全新的Android 12也正式亮相.对于Android 12这样的大版本更新,自然会受到诸多用户的关注,比如什么手机可以率先升级?什么时候可以升级 ...

  5. android p preview_细数 Android P 开发者预览版中最不能错过的新特性

    原标题:细数 Android P 开发者预览版中最不能错过的新特性 2018年安卓巴士全球开发者论坛-重庆站 [线下活动]春天到了 跟小编一起去重庆嗨皮吧~ Android P 应用适配新特性1.Pr ...

  6. Android Wear开发者预览版入门

    Android Wear开发者预览版包括工具和API,增强了应用程序通知功能,提供针对Android可穿戴设备的最佳用户体验. 利用Android Wear开发者预览,你可以: 在Android模拟器 ...

  7. Android P 开发者预览版

    Android P 开发者预览版首发! 在上周的世界移动通信大会 (Mobile World Congress) 上,我们看到由开发者.设备厂商以及芯片合作伙伴组成的 Android 生态系统不断为全 ...

  8. 罗永浩宣布进军电商直播;微博回应用户数据泄露;Android 11 开发者预览版 2 发布 | 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自视觉中国 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦, ...

  9. android 前后同时预览_vivo Android 11开发者预览版上线,抢先适配快人一步!

    大家好,我是凯航,一个被代码耽误的撰稿人,今天加薪姐不营业,我来代班. 昨天,谷歌发布了新版Android系统--Android 11 Beta.vivo仍是首批搭载Android 11 开发者预览版 ...

  10. Android P 开发者预览版首发!

    在上周的世界移动通信大会 (Mobile World Congress) 上,我们看到由开发者.设备厂商以及芯片合作伙伴组成的 Android 生态系统不断为全球用户创造美妙体验. 今天,我们要向各位 ...

最新文章

  1. python代码块使用缩进表示-Python 为什么使用缩进来划分代码块?
  2. N900超频和刷9G-home一气呵成
  3. android imap开发,企业邮箱在Android(安卓)系统手机上POP3/IMAP协议如何设置
  4. 解析PHP实现多进程并行执行脚本
  5. 使用ueditor实现多图片上传案例——Service层(IShoppingService)
  6. 用 Python 分析网易严选 Bra 销售信息,告诉你她们真实的 Size
  7. jdbc获取数据库连接的四种方式
  8. Phoenix创建Hbase二级索引_尚硅谷大数据培训
  9. 网络蠕虫和僵尸网络等恶意代码防范技术原理
  10. .NET调用新浪微博开放平台接口的代码示例
  11. ps设计制作出可爱的浅蓝色雨滴下落GIF(3)
  12. 解决新版本谷歌浏览器CROS跨域问题
  13. Matplotlib常见图形绘制(折线图、散点图 、柱状图 、直方图 、饼图 、条形图)
  14. html5源码笔记【爱创课堂专业前端培训】
  15. linux流控系统,Linux流量控制(TC)之表面
  16. ubuntu18.04 安装Adobe Flash Player
  17. “System.NullReferenceException”类型的异常在 App_Web_j2s3gau3.dll 中发生,但未在用户代码中进行处理的Bug解决方案
  18. 软件评测:比较CSDN和博客园
  19. python学习——4
  20. 内网安全十大防护策略详解

热门文章

  1. oracle10g的系统视图(sys、system)
  2. 戴尔电脑网卡远程唤醒wake on lan
  3. win10键盘失灵一键修复方法
  4. 【DSP】TMS320C64x系列--SPRU871参考手册--中断控制器部分
  5. OC Foundation框架 数组
  6. 阿里云ace认证内容有哪些?
  7. Win10下安装Detectron2,超详细教程!
  8. n2n(Pear-to-pear) 内网穿透
  9. 【190320】VC++ 机器人语音控制系统源代码
  10. 计算机表格斜杠怎么打,【2人回答】Excel表格中如何输入斜杠?-3D溜溜网