最近的三星手机用户心真的很累,前不久的手机重启事件的风波还没完全过去,今日又被曝出新的死机重启 Bug 。
这次的 Bug 是当你换上某张特定壁纸后,手机屏幕就会开始闪烁,然后手机系统反复崩溃重启,完全无法使用。
由于目前依旧没有太好的解决办法,因此托尼要再次告诫好奇的小伙伴们一定不要作死尝试!
就在下午,我把 KK 的 S10 备机借过来测试,直到现在都没能把恢复过来。
现在 KK 的备机,就是个无情的重启 + 振动机器,现在我还没想好要请他吃什么。。。
虽然网上也有不少小伙伴表示除了三星之外,小米、谷歌等等也纷纷中招,系统崩溃重启不止;但是托尼在找了一排小米手机、外加一台谷歌 Pixel 4 之后发现——
——这一个个都好好的啊!
手机排排坐▼
当然了,托尼的遭遇不能代表所有手机,但以目前托尼手头能找到的手机来看,只有在三星手机上才成功复现了这次的 bug 。
如果小伙伴们有新的发现的话,欢迎在评论区里告诉托尼。
那么接下来让我们认识一下引发这次崩溃 bug 的壁纸吧。
这张壁纸是一张风景画,大小 4.9 MB ,由摄影师 Gaurav Agrawal 于 2018 年用一台尼康D850 拍摄。
所以一张看似人畜无害的图片是怎么搞崩一堆手机的?原因在于,这张图片使用了少见的 Adobe RGB 色域标准。
RGB 对应三原色中的 RED ( 红 ), GREEN ( 绿 )和 BLUE ( 蓝 )。根据对应的标准,将三原色混合,就可以输出各种各样的色彩。相机在拍照时实质就是在记录着物体的 RGB 信息。
RGB 可以组合成很多颜色▼
Adobe RGB 则是表示颜色范围的色域标准。之所以需要制定标准,用一句歌词就可以解释—— “ 眼前的黑,不是黑 ~ 你说的白,是什么白 ~” 。没有统一的标准,就没有办法跨平台达成颜色现实的统一。
打个比方来说,你在逛淘宝的时候看上一件橘红色的衣服,但是到手之后,发现衣服是橙红色的。。。
为了避免此类问题的出现,就出现了各种各样的标准,像诸如 Adobe RGB , NTSC ,或者 sRGB 。
在这些色域标准中,最常见的就是 sRGB 。
sRGB 是国际色彩学会在 1966 年定制的色彩标准,又名标准 RGB 模式,它是面向大众的色彩解决方案,现如今的大多数的手机,电脑显示屏,浏览器等的默认配置都是 sRGB 。
但是 sRGB 覆盖的范围太小,以至于很多物体的色彩没有办法被准确还原出来,而能否准确的还原色彩信息对于某些行业尤为重要,特别是在印刷行业里面。
杂志书籍类的纸质产品一般都是借助光源阅读。与自带光源的 RGB 不同,为了能够还原色彩,在印刷产品上一般都是使用 CMYK ( 印刷四色模式 )技术。由于 sRGB 和 CMYK 的色域覆盖范围存在差异,因此在显示时可能会出现误差。
RGB 带出来的误差▼
而 Adobe RGB 相对上面的这两个标准,有着更大的色彩范围,能将它们俩全部覆盖。通过这个标准,就可以解决 sRGB 与 CMYK 之间的色差问题。
从下面这张图可以看出, Adobe RGB 的覆盖范围要超出 sRGB 很多。因而 Adobe RGB 也更多的被应用在专业领域。
所以这就出现了一个新的问题,当一张 sRGB 格式的照片放在支持 Adobe RGB 的设备上时,由于 Adobe RGB 的覆盖范围要比 sRGB 广,图片可以正常显示,但是反过来,就需要对图片进行压缩或者转换。
依据微博用户 Xiao1u 的说法,这个导致了三星和 Pixel 系统崩溃的错误,很可能就是由于在自动转换色域时出现了错误。
该图片采用了Adobe RGB 色域标准,而 Android 10 系统普遍优先选择色域更窄一些的 sRGB ,这就导致了部分手机无法第一时间进行图片的色域转换,从而引发了系统崩溃。
另外有国外的搞机玩家在网上分析,由于 Android 11 支持了 Adobe RGB 的直接显示,所以已经升级的机型并不会被这个 Bug 影响。不过同事的手机至今还是没有恢复。
托尼在深入调查的时候发现,此类事情并不是第一次出现。早前就有用户在酷安发过相关动态。只可惜当时并没有引起重视。
此外,关于这次崩溃还有另外一种说法,在 xml 文件里的文件尺寸错误,实际图片尺寸大小为 1450 x 2560 ,但是在 xml 文档内写作了 2560 x 2560 ,所以导致系统崩溃。
目前三星官方和上次的 “ 日历事件 ” 一样,仍然没有给出具体的解释,而这连续的两次事件也反映了三星在测试系统上面的不完善。系统存在这么多潜在的 bug 没有被测试出来。这对于三星用户简直是灾难。
看样子,三星用户们没事还是得注意多备份啊。。。