一起看 I/O | Android 12 Beta 版发布,诸多亮点不容错过
作者 / Dave Burke, VP of Engineering
今天在 Google I/O 大会上,我们发布了 Android 12 的第一个 Beta 版。Android 12 是我们有史以来最具雄心的版本之一,我们致力于创造一套能适应您的需求的全新用户界面,提高性能,同时将隐私和安全置于核心。对于开发者来说,我们为大家提供了更多的工具,方便您在手机、笔记本电脑、平板电脑、可穿戴设备、电视和汽车上构建令人愉悦的体验。
Beta 1 中有很多值得探索的地方。首先是对 Android 系统最重要的 UI 更新,这套界面用我们称之为 Material You 的设计语言创建。此外我们还提供了一些新的隐私功能供大家体验,比如近似位置,以及一个名为性能等级 (Performance Class) 的新标准,让应用和用户可以识别高性能设备。
今天您就可以在 Pixel 设备上 开始体验 Android 12 Beta 版。另外,得益于我们的设备制造商合作伙伴们的努力,您现在也可以在更多设备上体验 Beta 版,包括来自华硕、OnePlus、OPPO、Realme真我、夏普、TCL、Transsion、Vivo、小米和中兴的部分设备,更多设备也正在加入这一行列。点击这里 了解更多详情。
请继续阅读本文了解更多发布亮点。有关 Android 12 的详细信息以及如何开始开发,请访问 Android 12 开发者网站。
Android 的新 UI
正如我们在 面向消费者的博文 中强调的那样,Android 12 带来了 Android 历史上最大的设计变更。我们重新思考了整套体验,包括颜色、形状、光照和动效,使得 Android 12 更具表现力,更鲜活,更个性化。这项工作是在我们的软件、硬件以及 Material Design 团队的深入合作下完成的。我们正在将软件和硬件的生态系统统一在同一种设计语言下,名为 Material You。
我们已经将新的设计语言扩展到整个平台和 UI 组件,因此您的应用将自动获得这些升级。
重新设计的 widget - 随着 Android 12 中设计的更新,应用 widget 也已焕然一新,更实用、更美观,且更易于发现。我们增加了 新的交互控件,如复选框、开关和单选按钮,并让 配置 widget 更轻松。Android 12 widget 与我们的系统 UI 和主题配合起来非常美观,圆角和填充能够自动适应每个启动器和主屏幕。响应式布局 能让您将 widget 适配于手机、平板电脑、可折叠设备和其他屏幕。我们还添加了 动态色彩 API,这样您的 widget 就可以使用系统颜色来创建个性化且一致的外观。我们还通过改进的 widget 选择器以及与 Assistant 的整合,使得 widget 更易于发现。您可以在这里查看 示例代码 并上手体验。请访问 官方文档 了解详细信息。
过度滚动拉伸 - 我们还增加了一个新的系统级别的过度滚动 "拉伸" 效果,让用户知道他们已经滚动到了用户界面中内容的末端。拉伸效果提供了自然的垂直和水平滚动停止指示,通用于所有应用,且在整个平台和 AndroidX 的滚动容器中默认启用。新的过度滚动拉伸效果取代了以前版本中的发光效果。请务必在您的应用和内容中测试新的滚动行为,您也可以选择不启用此功能。请访问 官方文档 了解详细信息。
更流畅的音频过渡 - UI 不仅仅涵盖视觉效果,我们还改进了处理音频焦点的方式。当一个应用失去音频焦点时,它的音频会自动淡出,从而在播放音频的应用之间提供一个更平滑的过渡,并防止它们的声音互相重叠。这在可折叠和多屏幕的 Android 环境中尤为重要。请访问 官方文档 了解详细信息。
性能表现
在 Android 12 中,我们对性能表现进行了重大且深入的资源投入: 从提升基础性能,以让系统和应用更快更流畅,到为高性能设备设立新的标准,以帮助开发者在这些设备上提供更丰富的体验。
更快、更高效的系统性能 - 我们将核心系统服务所需的 CPU 时间减少了 22%,因此设备将更快、更灵敏。我们还将系统服务器对大核的使用减少了 15%,从而提高了 Android 的电源效率,使得设备在需要充电之前能运行更长的时间。
我们通过减少锁争用和延迟的变化程度,改善了应用切换和启动时间。我们还优化了 I/O,以加快应用的加载。在 PackageManager 中,只读快照减少了 92% 的锁争用。在 Binder 中,轻量级缓存从根本上改善了目标调用的延迟,最高可达 47 倍。在 I/O 方面,我们对 dex/odex/vdex 文件进行了加速,以改善应用的加载时间,这在低内存手机上尤为明显。我们对 通知跳转 (notification trampoline) 的限制也有助于减少从通知中启动的应用的延迟。例如,在不使用通知跳转后,Google Photos 应用的启动速度提高了 34%。
为了提高数据库查询性能,我们通过在 Binder 事务中内联结果优化了 CursorWindow。对于小窗口,CursorWindow 的速度提高了 36%,而对于超过 1,000 行的窗口,改进幅度可高达 49 倍。
性能等级 - 从 Android 12 开始,我们与生态系统的合作伙伴一起,为高性能的 Android 设备引入了一个通用标准。
这个标准被称为性能等级 (Performance Class),其中定义了一套超越 Android 基础要求的性能。符合性能等级要求的设备可以支持更苛刻的用例,并提供更高质量的内容。开发者可以 在运行时检查性能等级,然后可靠地提供增强的体验,以充分利用设备的性能。
目前我们将性能等级指标的重点放在媒体用例上,涵盖的指标包括摄像头启动延迟、可用的编解码器和编码质量、最低内存大小、屏幕分辨率和读/写性能。请访问 官方文档 了解详细信息。
从设计源头保护隐私
隐私是我们一切工作的核心,在 Android 12 中,我们将继续为大家提供更多的透明度和控制权,同时保证设备和数据安全。今天我们也发布了一些即将出现在 Beta 2 中的隐私特性,包括隐私仪表板 (Privacy Dashboard)、支持应用分享更多数据使用情况的背景信息、麦克风和摄像头的指示器、麦克风和摄像头的开关,以及剪贴板通知。请继续关注这些特性的后续更新。以下是本次 Beta 1 中新加入内容。
应用休眠 - 去年我们发布了 权限自动重置 功能,在过去的两周内,Android 重置了超过 850 万个未被使用的应用权限。那些已经被忘记的应用将不再能访问用户的数据。在 Android 12 中,我们在权限自动重置的基础上,对长时间未使用的应用进行智能休眠,从而优化设备存储、性能和安全。休眠不仅会撤销用户之前授予的权限,而且还会强制停止应用,并回收内存、存储和其他临时资源。系统还会阻止休眠的应用在后台运行作业或接收推送通知,来帮助用户保持安全。休眠对大多数应用来说应该是透明的,但如果需要,您可以引导用户到设置中关闭您的应用的休眠功能。请访问 官方文档 了解详细信息。
附近设备权限 - 以前,蓝牙扫描要求应用拥有位置权限,这对那些需要与附近设备配对但实际上不需要设备位置的应用是一个挑战。应用现在可以扫描附近的设备,而不需要位置许可。把 Target SDK 等级升级到 Android 12 的应用可以使用新的 BLUETOOTH_SCAN 权限并设置 usesPermissionFlags="neverForLocation" 属性进行扫描。在与设备配对后,您可以使用 BLUETOOTH_CONNECT 权限与之互动。这些权限旨在促进隐私友好的应用设计,同时降低应用使用的门槛。请访问 官方文档 了解详细信息。
近似位置 - 最近几个版本更新,我们为大家提供了更好的方法来 管理对位置的访问,比如为前台和后台的访问提供独立的权限,以及 "仅限这一次" 选项。现在,对于针对 Android 12 的应用,我们通过新的 "近似位置" 选项带来了更多的控制权。当应用请求精确位置数据时,用户现在可以选择授予精确或近似的位置。用户在任何时候都可以通过 "设置" 来修改应用的位置精度。如果您的应用请求的是精确位置数据 (ACCESS_FINE_LOCATION),请考虑本次带来的变化,以确保您的应用在只获得近似位置时也能正常运行。对于几乎所有常见的位置用例,我们建议只要求获取近似位置 (ACCESS_COARSE_LOCATION)。请访问 官方文档 了解详细信息。
应用兼容性
如果您还没有测试应用与 Android 12 的兼容性,现在是时候测试了!随着 Android 12 进入 Beta 版本,我们已经开放 Pixel 和其他设备 上的早期体验用户和开发者进行体验。这意味着,在未来几周您将看到更多用户在 Android 12 上体验您的应用,并提交他们发现的问题。
要进行兼容性测试,请在运行 Android 12 Beta 的设备或模拟器上,通过 Google Play 或其他来源安装您的正式版应用,并测试应用的所有流程。请通过 行为变更 清单来确定测试重点。在解决所有发现的问题后,请尽快发布更新版本。
随着 Beta 版的发布,我们越来越接近 2021 年 8 月的 平台稳定性里程碑。届时,面向应用的系统行为、SDK/NDK API 和非 SDK 列表都将最终确定。您将可以完成最后的兼容性测试,并发布完全兼容的应用、SDK 或开发库。详见发布 时间表。
即刻开始体验 Android 12
不论您是想体验 Android 12 的功能、测试应用还是 提交反馈,都可以从这次的 Beta 版开始。只需 使用受支持的 Pixel 设备注册参加测试,即可通过无线 (OTA) 方式获得更新。如果您已安装过之前的预览版,您将自动获得 Beta 版更新。要开始进行开发,请设置好您的 SDK。
您也可以在参与 Android 12 开发者预览计划的顶级设备制造商合作伙伴的设备上体验 Android 12 Beta。请访问 developer.android.google.cn/about/versions/12/devices 查看合作伙伴的完整列表,以及前往他们网站的链接,以了解其支持的设备的详细信息。每个合作伙伴都会提供注册和支持功能,并直接向您提供 Beta 版更新。
为了在更多设备上进行更广泛的测试,请通过 Android GSI 映像 来安装和体验 Android 12 Beta。如果您没有设备,也可以在 Android 模拟器上进行测试。只需通过 Android Studio 的 SDK 管理器下载最新的模拟器系统映像即可。
请访问 Android 12 开发者网站 了解获得 Beta 版的详细信息。
您对产品的反馈及问题对我们非常重要,欢迎 点击这里 向我们提交反馈。您的问题有可能出现在下一期的 FAQ 中并获得解答。感谢您的支持!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android 版 Chrome 将可以一键修改外泄密码
Google计划在 Android 版 Chrome 浏览器中启动一项新功能,以帮助用户一键轻松修改因数据泄露而外泄的密码。 根据官方所述,有了这项新功能之后,只需轻轻一点,Chrome 浏览器就可以帮助用户进行密码修改。在受支持的网站上,如果 Chrome 浏览器检测到一个可能被泄露的密码,"Change password"按钮将从 Assistant 中弹出。点击该按钮后,Chrome 浏览器将导航到密码被泄露的站点,并完成修改密码的整个过程,自动更改密码。 重要的是,你可以控制整个体验,选择从一开始就手动完成修改密码的过程,或者从这个过程中的任何一个时间点开始。而且,即使某个网站还不支持,Chrome 的密码管理器也可以随时帮助你为你的各种账户创建强大而独特的密码。 Chrome 浏览器高级产品经理 Patrick Nepper称,Google Assistance 在 Duplex on the Web 技术的支持下,可以帮用户完成浏览网页、点击、填写窗体等的烦琐操作,让用户可以专注于更加重要的事情上。现在,他们将会扩展这项功能的应用,当 Chrome 检测到用户的密码已经被泄...
- 下一篇
Go sync.Pool 浅析
hi, 大家好,我是 haohongfan。 sync.Pool 应该是 Go 里面明星级别的数据结构,有很多优秀的文章都在介绍这个结构,本篇文章简单剖析下 sync.Pool。不过说实话 sync.Pool 并不是我们日常开发中使用频率很高的的并发原语。 尽管用的频率很低,但是不可否认的是 sync.Pool 确实是 Go 的杀手锏,合理使用 sync.Pool 会让我们的程序性能飙升。本篇文章会从使用方式,源码剖析,运用场景等方面,让你对 sync.Pool 有一个清晰的认知。 使用方式 sync.Pool 使用很简单,但是想用对却很麻烦,因为你有可能看到网上一堆错误的示例,各位同学在搜索 sync.Pool 的使用例子时,要特别注意。 sync.Pool 是一个内存池。通常内存池是用来防止内存泄露的(例如C/C++)。sync.Pool 这个内存池却不是干这个的,带 GC 功能的语言都存在垃圾回收 STW 问题,需要回收的内存块越多,STW 持续时间就越长。如果能让 new 出来的变量,一直不被回收,得到重复利用,是不是就减轻了 GC 的压力。 正确的使用示例(下面的demo选自...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Red5直播服务器,属于Java语言的直播服务器