带着十几年前对论坛「多图杀猫」的好奇,我在2020年经历了「单图杀机」的血泪事件。就好像当年不信Modem会烧一样,我趁着主编没有反应过来的单身手速,完成了下载、打开、设置壁纸3个关键步骤...果然,没有奇迹,主编的安卓机开始闪屏、崩溃、重启,然后...无限重启。

趁着主编还没注意到之前,我给大家交待一下网友们最近经历的安卓大BUG的来龙去脉。

一张壁纸引发的安卓危机?

事件的始作俑者是一张由摄影师Gaurav Agrawal用尼康D850拍摄的风景照片,大小4.90MB。

这张看似普通的照片只要被部分安卓手机(包括谷歌Pixel、三星、小米、诺基亚等)设置成壁纸,就能让手机系统瞬间崩溃。这些中招的手机大部分可以通过在安全模式下修改壁纸原地复活,有的(比如谷歌Pixel)只能双清恢复出厂设置,手机内的数据全部丢失,这就是好奇的代价。

所以,建议大家不要轻(尝试)易(记得)尝(保存为)试(原图)。

这张照片之所以会让一堆安卓机崩溃,是因为照片采用了普通用户比较少见的「Adobe RGB色域标准」。所谓「色域」简单来说就是颜色的呈现空间范围,而「色域标准」则是各行各业根据自身需要确定的(通常会参考CIELAB或者CIEXYZ色彩空间,涵盖我们人类能看到的所有颜色)。

这其中我们容易接触到的屏幕色域标准有「sRGB」和「NTSC」。sRGB色域自从1996年由微软和惠普开发初始到现在,一直被作为网上浏览图像的通用色彩标准,目前手机屏幕和电脑显示屏基本都是默认sRGB模式。不过sRGB色域所能显示的色彩范围比较小(在这里开始埋坑了),满足不了印刷行业的颜色需求,所以印刷行业的专业人员一般不会使用这个色域标准。

NTSC色域是我们在选购手机和笔记本时经常能看到的色域标准,由美国国家电视标准委员会(National Television Standards Committee)负责开发,用于规范当时电视广播传输接收协议的色彩标准。NTSC比起sRGB的色域要大得多,sRGB相当于72%NTSC色域水平。

前面提到,印刷行业的专业人员(也包括摄影师、设计师、工程师等)一般不会使用sRGB的屏幕色域标准,那么他们用什么呢?没错,就是这次事件中的「Adobe RGB」。这个标准是由Adobe System公司在1998年开发的,初衷是为了同时覆盖sRGB和CMYK(印刷常用的标准),如此一来拍摄出来的照片既可以在电脑上正确显示和编辑,也能够颜色无损地印刷出来。

对比色彩范围,Adobe RGB则相当于95%NTSC。也就是说色域范围NTSC最广,Adobe RGB次之,sRGB相对最窄(我们可以通过上面两张色度图来直观地看到它们的区别)。

由于各个色域之间并不是完全的包含和被包含的关系,所以如果在支持其中一种色域的设备上使用另一种色域的照片,这之间就需要进行转换。目前安卓10系统普遍采用的是sRGB,而开头的照片为Adobe RGB,部分手机因为在转换计算的过程中发生BUG,就导致了这次悲剧事件发生。

目前已有反馈该BUG的手机厂商已经在加班加点修复,近期有接收到手机更新补丁的童鞋记得抓紧上车。谁也不确定下一张设置为壁纸的照片用的是不是Adobe RGB。

……

背脊有点发凉,隐约感觉身后有人,正准备……

“我靠,你不会是?”...“主编我错了,我这就去摆地摊。”