写点什么

Android 13 来了,它真的平庸又鸡肋吗?

  • 2022-02-14
  • 本文字数:3029 字

    阅读完需:约 10 分钟

Android 13来了,它真的平庸又鸡肋吗?

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



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 图标版本,估计又会闹出不少法律纠纷。

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


新的照片选择器


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/

2022-02-14 16:249081
用户头像
罗燕珊 AI practitioner | Tech media

发布了 504 篇内容, 共 347.9 次阅读, 收获喜欢 809 次。

关注

评论

发布
暂无评论
发现更多内容

终于知道Kafka为什么这么快了!

大头星

kafka 消息队列

免费DDoS攻击测试工具大合集

陈磊@Criss

英特尔首席架构师Raja:一个“百亿亿次级计算能力惠及每个人”的时代正在到来

最新动态

PHP之闭包函数

书旅

面向对象 闭包 函数

AI能写浙江高考满分作文了!在线满分作文生成器,一键圆你满分梦

程序员生活志

AI

腾讯人均月薪7.5w,我这是又被平均了?

程序员生活志

腾讯 职场 薪资

SpringBoot系列(五):SpringBoot 日志配置(logback)

xcbeyond

Java 微服务 springboot logback

如何正确认识区块链?

CECBC

区块链价值 区块链应用

一瓶可乐的自动售货机指令“旅程”

华为云开发者联盟

物联网 嵌入式 华为云 数据传输 无线通信

智“营”时代,众盟科技荣膺“2020毕马威中国领先消费科技TOP50企业榜单”

人称T客

应用研发平台特惠专场,助力企业加速数智化发展

移动研发平台EMAS

分布式链路追踪Skywalking 存储模型设计

胡弦(关注公众号架构随笔录)

分布式 Skywalking 高性能 分布链路追踪

Phalcon注解学习

Geek_4z9ami

php phalcon

MySQL explain 中的 rows 究竟是如何计算的?

架构精进之路

MySQL

MySQL备份脚本,应该这么写

Simon

MySQL

网站改版神秘公式,教你躲避改版陷阱

北柯

创业 网站 网站搭建 网站改版

如何从红蓝墨水中分离出红墨水?回声消除算法介绍

拍乐云Pano

音视频 WebRTC 回声消除 3A算法 音频技术

面试官:说下对cookie,session,Token的理解

Java小咖秀

Java 面试

面试造火箭,看下这些大厂原题

前端有的玩

Java 面试 大前端

libuv 异步模型之设计概览

Huayra

libuv 异步模型

MySQL中timestamp和datetime,你用的对么?

xcbeyond

MySQL 数据库 后端

troubleshoot之:分析OutOfMemoryError异常

程序那些事

Java JVM 异常 JIT

守护进程

书旅

php 进程 守护进程

分苹果

书旅

算法 LeetCode

SpringBoot系列(六):SpringBoot 数据库操作(集成MyBatis)

xcbeyond

Java 微服务 mybatis springboot

如何写出完美的接口:接口规范定义、接口管理工具推荐

xcbeyond

Java 架构 接口规范

统一软件开发过程(RUP)的概念和方法

雯雯写代码

Rust竟然没有异常处理?

袁承兴

rust 异常 java异常处理

JavaScript中的正则表达式详解

华为云开发者联盟

Java 正则表达式 程序员 字符串 语法

实践总结:在 Java 中调用 Go 代码

写代码的西瓜

年近而立,Java何去何从?

华为云开发者联盟

Java 开源 程序员 编程语言 Bugayenko Yegor

Android 13来了,它真的平庸又鸡肋吗?_开源_Ron Amadeo_InfoQ精选文章