近日,一名网友在 Twitter 上传了一张壁纸并表示该壁纸会使他的三星手机崩溃。此前已经有日历 Bug 导致三星手机集体崩溃的事情发生,而这一次三星手机再次中招。只因为使用了一张风景壁纸就能导致手机崩溃?经该网友测试,不止是三星,包括谷歌亲儿子 Google Pixel 在内的众多手机品牌纷纷中招。
事件回顾
5 月 31 日,一位名为“Ice universe”的网友在 Twitter 中上传了一张壁纸并表示:“警告!切勿将此图片设置为壁纸,尤其是三星手机用户!它会导致你的手机崩溃!千万不要尝试!”
图为“肇事”的壁纸,大家不要轻易尝试!
而后,该用户又发布了一条推文表示,不止是三星的手机,他的 Google Pixel 在更换为该壁纸之后也中招了。在他上传的视频中可以看到,将该图片设置为壁纸后,设备会崩溃,并不断在锁定屏幕上打开和关闭屏幕,且无法退出此循环,即使重启设备也会在开机后继续执行此循环。有网友测试,部分手机在崩溃后想要修复将十分棘手,Google Pixel 在安全模式下启动设备也无法修复,只能通过恢复出厂设置来使设备恢复正常,这样的话,手机中的全部数据都将会丢失。
崩溃的原因
这一问题没有影响到所有的 Android 设备,Android Authority 表示,他们测试时发现华为 Mate 20 pro 并没有出现这样的问题,目前已知会受到影响的手机品牌包括三星、Google Pixel、小米、一加和诺基亚。
那么问题究竟出在哪里?Android 开发人员 Dylan Roussel 在 Twitter 上分享了他寻找该问题原因的思路:
通过跟踪 SystemUI 崩溃的堆栈得知,这一问题发生在“ getHistogram”中。
在深入研究两个设备的 getHistogram 函数和调用 getHistogram 的函数之后,我注意到了一个问题:在使用 Android 11 系统的 Pixel 4 XL 上,函数 peekWallpaperBitmap 有一个新参数。
该参数将在某个时刻调用 ColorManagementProxy 的 doColorManagement 函数,用来检查设备是否支持图像的色彩空间。如果图像的色彩空间为 sRGB,则默认为支持;如果不支持,它会将图像的颜色空间替换为 sRGB,并记录其当前的颜色空间。
这就是它不会在使用 Android 11 系统的 Pixel 4 XL 上崩溃的原因。但是,在配备 Android 10 的 Pixel 3 XL 上尚未验证。这意味着如果将其设置为墙纸,则不支持色彩空间的图像可能会导致该设备崩溃。那么这张图片的色彩空间是什么?RGB。
简而言之就是这张壁纸图片使用了 RGB 色域标准,而 Android 10 优先选择 sRGB 标准,无法在第一时间将图片进行色域转换的设备就会出现问题,从而导致系统崩溃。
解决方式
Dylan 表示,目前没有很好的解决方法,只能通过更换壁纸或升级至 Android 11 来解决这一问题,可一旦设备中招,就无法更换壁纸。祸不单行,近日 Google 表示,原计划于 6 月 3 日发布的 Android 11 beta 版本将无限期推迟,也就是说目前仍无法进行 Android 11 的升级操作。
如果你的三星设备已经不幸中招,cnBeta 提供了两个临时解决办法:
手机关机,按电源键开机,在开机页面出现三星 LOGO 画面时,按住音量下键不松手,直至左下角显示“安全模式”字样,进入后手速要快,抓紧时间随便拍一张照片,并设置为壁纸。可能需要多次才能成功。
如果系统还未崩溃,快速下拉“设置”菜单,替换其他壁纸。同样要看手速。
一直以来,我们总会在网上看到一些稀奇古怪的“整蛊方法”:给使用 iPhone 的朋友发送一串字符,对方的设备就会崩溃。这样的故事主要发生在 iPhone 用户身上,而现在,Android 用户也难逃厄运,如果有朋友给你发来这样一张图片并让你设置成壁纸,请一定不要尝试。
延伸阅读
https://9to5google.com/2020/05/31/android-phone-wallpaper-soft-brick-bug-video/
评论