Android13来了它真的平庸又鸡肋吗( 二 )


更直白地讲,就算是没有存储访问权限、手机上的应用之前也可以调用系统文档选择器(这款选择器本身拥有存储访问权限),并通过选择器将访问能力传递至实际选定的单一文件 。现在这种能力在照片选择器中实现了专项化,整个操作过程更加流畅 。谷歌表示,启用此项功能要求移动应用支持新的“照片选择器 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%” , 而且现在对“系统的渲染性能几乎没有影响” 。但谷歌并未在这篇初步介绍博文中解释这项技术的深层原理 。