Google官方对死亡壁纸做出回应!一切都是机缘巧合?

记得这张照片吗?

没错,那就是前几天传出的死亡 Wallpaper!许多 Android 用户都受到了该 Wallpaper 影响,凡是 Set 那张 Wallpaper 的网友,手机都会出现 System UI 一直不断的重启的问题!不要不信,面具哥亲自试试看,牺牲了一架电话给大家看看 Set As Wallpaper会有什么下场,最后还需要去刷机才能够恢复正常。

对于这个问题,Google 在今天就做出了回应。Google 解释:

在 Android 10 以及往后的版本,都会自动将照片转为 sRGB 照片。而在转换的过程中,如果得出来的“luminance”值大于255,System UI 就会崩溃。Luminance 的值是以以下公式计算的:

Luminance = .2126f * r + .7152f * g + .0722f * b而公式里的r、g、b分别代表了 Red、Green 和 Blue,并以8-bit的方式呈现,也就是0到255。这个公式有一个问题就是,在最后的小数点,Google 会以四舍五入的方式处理,恰恰好这张图片的RGB值分别是255、255、243,当放入了公式之后,便会获得以下结果:Luminance = .2126 * (255) + .7152 * (255) + .0722 * (243)Luminance = 256

你没看错,在一个 8-bits 的位置中出现了 256,懂得编程的人应该知道,这要嘛变成了-255、要嘛直接 Integer Overflow,而Android 的系统正好处于后者,造成了 Integer Overflow,所以直接把 System UI 以及整个 OS 弄崩溃了。值得一提的是,这张照片就这么巧的RGB值是255、255、243,只要其中一个少了一个位,这个 Bug 就不会成立了!可以说啊,有时候 Bug 也是巧合之下才会出现的。


资料来源:XDA Developers

今天你洗手了吗?全民做好防疫准备,齐心抵御新冠肺炎入侵! 点击追踪 >> 新冠肺炎疫情动态

*部分照片取自网络,内容皆由MOJO平台的MOJO投稿员归有,若想参考请附加此文的链接。照片或文章如有侵犯版权问题请告知,谈谈网必定删除,谢谢!*