本文来自微信公众号:InfoQ(ID:infoqchina),作者:RON AMADEO,译者:核子可乐,编辑:燕珊,头图来自:unsplash


虽然不久前 Android 12L beta 版才亮相,但这并不会阻挡谷歌探索移动系统新方向的脚步。上周,谷歌正式发布了 Android 13 的第一个开发者预览版,根据官方释出的时间表,Android 13 将在今年下半年内完成市场首秀。


Android 13 发布时间表<br label=图片备注 class=text-img-note>
Android 13 发布时间表


一边马不停蹄地更新 Android 12L 版本(面向平板电脑和可折叠设备),一边又如期推出 Android 13,面对两个相隔时间如此之短的版本,谷歌的葫芦里到底卖的什么药?未来的 Android 操作系统又将往何处去?我们将在本文当中一探究竟。


我们先来看下本次 Android 13 预览版中的新功能。此前有非官方消息提到,新版本中增加了 Material You 色彩选项、新的用户通知选择系统(这两条均未得到确认)以及针对各种语言的偏好设定(已经确认)。而以下是谷歌在此次早期版本中披露出来的有趣花絮。


一、主题图标正式“毕业”



Android 12 中包含“主题图标”功能的 beta 测试版,能够对部分图标进行单色艺术渲染,确保图标与用户选定的 Material You 主题相匹配。通过上图可以看到,主题图标相当于去掉原始图标中的色彩搭配,只保留最简单的几何图形。


但我们一直没见过主题图标功能的完整实现,而且之前开发者们也没法根据需求自由创作主题图标。Android 12 中最初公布的主题图标只提供硬编码,谷歌也从未发布过任何“beta 版”开发文档。但在 Android 13 中情况有所改观,开发者现在只需要提供“单色版应用图标并对自适应图标 XML 做出调整”,即可启动并运行自己的主题图标方案。


不过单就目前的效果看,我们仍然很难判断“主题图标”这个创意有没有搞头。谷歌自家的图标在单色化之后倒是影响不大,毕竟最近一轮品牌重塑已经把他们的自家图标统一弄成了彩虹色。但那些依靠色彩强调自身辨识度的第三方图标就惨了,乱糟糟的一片没准会令用户眼花缭乱、难分彼此。所以此项功能到底见证如何,还要看未来实际落地后的表现。


谷歌这个主题图标的创意很明显来自 mod 社区的图标更新包。但图标包的本质是由单一设计师制作,再由单一用户打包使用。所以除非世界上的每位开发者都愿意为自己的应用设计相应的主题图标,否则谷歌的这个小心思真的很难起到什么好作用。更要命的是,mod 社区明显不关心移动应用厂商搞的那些品牌计划,他们更强调视觉风格的匹配。所以到时候如果真出现了蓝色以外的 Facebook 图标版本,估计又会闹出不少法律纠纷。


二、没有存储访问权限,照样共享图片


新的照片选择器<br label=图片备注 class=text-img-note>
新的照片选择器


Android 13 提供一款新的内置照片选择器,用以替代以往选择照片时弹出的文件管理器。这项新设计当然不只是想提供新的选择器外观或者与文件管理器不同的操作方式,而是为了让用户能在不授予存储访问权限的情况下仍能在应用内顺利完成单张照片共享。


谷歌解释道,“之前,Android 的文件选择器就一直允许用户在无需授予对设备上所有媒体文件的访问权限时,顺利在应用内共享任意类型的特定文件。此次全新照片选择器扩展了这项功能,将会给照片和视频共享操作带来独特的使用体验。”


更直白地讲,就算是没有存储访问权限、手机上的应用之前也可以调用系统文档选择器(这款选择器本身拥有存储访问权限)并通过选择器将访问能力传递至实际选定的单一文件。现在这种能力在照片选择器中实现了专项化,整个操作过程更加流畅。谷歌表示,启用此项功能要求移动应用支持新的“照片选择器 API”。在我看来,这项功能确实给那些只需要共享单张图片的消息应用、或者只需要获取个人资料图标的应用带来了福音。


有意思的是,谷歌还打算通过 Project Mainline 更新把这项功能下放到更多早期 Android 版本。Project Mainline(也被称为“Google Play System 更新”)是 Android 中的一个主要项目,意在通过 Play 应用商店对操作系统的核心组件进行更新。不过这项功能需要深度系统权限,所以并不适用于常规应用的权限模型。之前 MediaProvidor 就以 Mainline 模块的形式出现在 Android 11 当中,谷歌这一次则希望将新的照片选择器以系统级界面的形式更新至 MediaProvidor 当中。


作为大家最喜闻乐见的 Android 模块化项目,谷歌承诺在 Android 13 中推出更多 Project Mainline 模块,包括蓝牙与超带宽模块。提起蓝牙技术标准,朋友们脑袋里往往会蹦出“混乱”二字——为了能让不同时期、不同版本的设备彼此通信,蓝牙规范必然会陷入臃肿和繁复。目前的短期解决方案就是通过 Google Play 应用商店把这套糟糕的标准修补一番,而 Android 团队那边可能仍在进行代号为“Gabeldorsche”的大规模蓝牙技术改造工作。


三、没有位置访问权限,也能接入 Wi-Fi


移动应用还时常用到另一项功能,即附近 Wi-Fi 设备列表。但要获取这份列表,应用就得具备一项较为敏感的权限:位置访问。谷歌用一套庞大的众包数据库囊括了地球上每一个 SSID 位置,这样用户就能随时根据当前所在位置、获取周边的 Wi-Fi 接入点列表。于是乎,Android 上的 Wi-Fi 热点列表功能就跟“位置”权限紧密绑定了起来。


但在 Android 13 当中,谷歌开发了一项新的“NEARBY_WIFI_DEVICES”权限,可以在不暴露用户位置或获取位置权限的同时,为应用提供周边 Wi-Fi 设备列表。经过这样的调整,某些 Wi-Fi 硬件(例如扫地机器人或智能扬声器)的应用设置会更加安全可靠。


四、文本断字速度加快


很多人一听到“断字速度加快”(Faster hyphenation),就觉得这肯定是项超级无聊的系统更新特性。绝对不是,这项改进其实非常重要。显示文本内容可以说是 Android 上最常见的任务之一,同时也占用着大量系统资源,要求软件完成一系列测量与布局操作。2018 年,谷歌曾经在一篇博文中详尽描述过这项操作在 Android 9 中的实现流程:


显示文本内容其实相当复杂,涉及多种字体、行间距、字母间距、文本方向、换行、断字等功能。TextView 需要对给定文本执行多项测量与布局操作,包括:读取字体文件、查找字形、确定形状、测量边界框并将单词添加至内部缓存等。更重要的是,所有这些工作都发生在 UI 线程上,因此很可能导致应用丢帧。


这么多操作全都塞给 UI 线程,当然会对应用性能造成不利影响,期间出现的任何挂起都将成为应用卡顿的元凶。另外,大家可能想象不到,断字是资源占用量最大的文本布局操作之一,要求系统计算各个单词的所有音节断点以完成显示布局。


所以谷歌在 Android 10 上将断字功能设置为“默认关闭”,并提到“我们的性能测试结果表明,当启用断字功能时,文本测量的全部时长中高达 70% 被耗费在了断字身上。”至于 Android 13,谷歌表示新系统拥有了新的断字方法,其执行速度“提高了 200%”,而且现在对“系统的渲染性能几乎没有影响”。但谷歌并未在这篇初步介绍博文中解释这项技术的深层原理。


五、写在最后


与以往对比,整个 Android 项目的发布时间表其实显得有些“怪异”。Android 12L 将于今年第二季度推出,而这次亮相的 Android 13 Preview 版本则会在今年晚些时候放出。官方时间线显示,Android 13 将在今年 6 月更新“平台稳定版”,反倒比 Android 12 还提前了两个月,并且还列出 Android 13 最终版将在 7 月后的某个时间点推出,这看起来真的很早。因此难免引人遐想,Android 13 只是个小小的增量优化版本?


谷歌强调,这些早期版本的发布主要是为了收集用户反馈。整体来看,Android 13 在 Android 12 的基础上进一步加强了“Material You”和隐私安全等内容。甚至有评价认为,Android 13 就是 Android 12 的一个补丁——“感觉大多数 Android 13 的新增功能都可以并且应该已经在 Android 12 中实现。”


你认为 Android 的更新真的变得越来越平庸和鸡肋吗?


参考链接:

https://arstechnica.com/gadgets/2022/02/google-releases-android-13-developer-preview-1/


本文来自微信公众号:InfoQ(ID:infoqchina),作者:RON AMADEO