[Ажурирање 2: Поправљено] Ова позадина покреће ретку грешку која узрокује покретање Андроид уређаја

Ова позадина покреће ретку грешку која узрокује покретање Андроид уређаја. Не покушавајте зидар на свом уређају или можете изгубити све своје податке.

Ажурирање 2 (03.08.2020. у 15:03 ЕТ): Са безбедносним закрпама за Андроид из августа 2020, Гоогле је ажурирао Андроид да би исправио ову грешку. Више детаља можете пронаћи на дну.

Ажурирање 1 (06.04.2020. у 03:12 ЕТ): Појавила су се новија објашњења о томе шта узрокује да „проклета позадина“ руши телефоне, заједно са одговором Гугла. Померите се до дна за више информација. Чланак објављен 1. јуна 2020. је сачуван у наставку.

Замислите да претражујете интернет цоол валлпаперс и наиђете на сликовити пејзаж. Има све; бујну зелену шуму, нетакнуто језеро са сићушним острвом, планине прекривене снегом у позадини и густи покривач облака са сунчевом светлошћу која продире кроз празнине. Одмах преузимате слику, постављате је као позадину свог телефона и бум! Ваш Андроид телефон се заглавио у покретању. Звучи мало вероватно, зар не? Па, то је тачно за ову позадину.

Позадина је недавно дељена на Твиттерод реномираних Самсунг Леакстер Ице Универсе, који је тврдио да ће позадина "проузроковати да се ваш телефон сруши!" Упркос њиховом упозорењу, неколико корисници су преузели позадину да би проверили да ли је заиста урадила нешто на њиховом телефону и добили су следеће резултати:

Према Давиде Бианцо, водећи програмер АОСП-а прилагођени РОМ „ПОСП“, ова конкретна позадина узрокује пад неких Андроид уређаја јер користи РГБ простор боја, уместо сРГБ простора боја који је изворно подржан на Андроид-у. Бианцо има поднео закрпу АОСП-у који наводно решава проблем, а у опису закрпе стоји да „Проблем се јавља када корисник покуша да постави као позадину слику која није сРГБ. Оно што се дешава је да је вредност променљиве и виша од граница хистограма, због чега се СисУИ руши. Једно могуће решење је ограничити вредност и да увек буде мања од 256." Заједно са Бианцо, два програмера, КСДА Сениор Мембер БадДаемон и КСДА Рецогнизед Девелопер луца020400, из популарног ЛинеагеОС прилагођеног РОМ тима су такође дошли до јединственог решења за проблем. Можете погледати описе закрпа на ЛинеагеОС Геррит-у тако што ћете пратити овај линк и овај линк.

Изричито препоручујемо да не користите ову слику као позадину ни под којим околностима. У случају да сте га већ користили и да је ваш уређај заглављен у петљи за покретање, погледајте упутства у наставку како бисте могли да опоравите свој уређај.

А извештај из 9то5Гоогле по том питању даље открива да је проблем ограничен на уређаје који користе Андроид 10 или старији и да не утиче на уређаје који користе Андроид 11 Преглед за програмере. То је због чињенице да на Андроид-у 11 систем конвертује простор боја ако није подржан, али на Андроид-у 10 не. Што значи да ово није проблем са овом сликом и да може бити узроковано другим сликама које користе РГБ простор боја.

Имајте на уму да иако проблем не утиче на све Андроид уређаје, топло препоручујемо да не испробавате позадину на телефону. У случају да га ипак покушате, можда ћете моћи да опоравите свој уређај тако што ћете га потпуно ресетовати или ући у безбедан режим и променити позадину. Али пошто су неки корисници прешли Твиттер нису били у могућности да опораве своје уређаје помоћу горе наведених метода, било би најбоље да не користите тачну слику као позадину. Ако вам се заиста свиђа позадина, само направите снимак екрана слике и користите је као позадину.


Ажурирање 1: Ново објашњење, одговор Гоогле-а

Проширивање узрока грешке како је објаснио старији члан КСДА БадДаемон и КСДА Рецогнизед Девелопер луца020400, "проклета" позадина је кодирана у посебном простору боја који се зове "Гоогле/Скиа/Е3ЦАДАБ7БД3ДЕ5Е3436874Д2А9ДЕЕ126" (ово је пун назив простора боја, а Скиа се односи на Библиотека 2Д графике коју је направио Гоогле.) Насупрот томе, већина других слика позадине је кодирана у простору боја који се зове "сРГБ".

У верзијама Андроида 10 и старијим, све слике се конвертују у сРГБ осим ако програмери нису другачије одредили. Постоји ретка грешка која се може јавити приликом претварања слике у сРГБ, при чему код који израчунава вредност „светлине“ сваког пиксела успева да премаши максималну границу од 255.

Осветљеност се израчунава помоћу следеће формуле:

Осветљење = .2126ф * р + .7152ф * г + .0722ф * б

Овде су „р“, „г“ и „б“ вредности црвене, зелене и плаве боје представљене у 8-битној вредности од 0 до 255.

Проблем са овим прорачуном је што се сваки део увек заокружује пре коначног збрајања. Један од пиксела у „проклетој“ позадини, када је у процесу конвертовања слике из сРГБ, а затим у нијансама сиве, има следеће РГБ вредности: 255, 255, 243, што када је укључено у горњу једначину изгледа као:

р: .2126 * 255 = 54,213 => 55

г: .7152 * 255 = 182.376 => 183

б: .0722 * 255 = 18,411 => 19

Осветљеност = р+ г + б = 257

Ова вредност узрокује да се СистемУИ, и у основи цео ОС, руши јер премашује максималну вредност. То је грешка која је тако невероватно специфична јер укључује комбинацију грешке заокруживања и грешке при конверзији простора боја.

Ова грешка не утиче на Андроид 11 јер се „Скиа“ простор боја слике подразумевано не конвертује у сРГБ. Дакле, ова грешка конверзије простора боја и грешка заокруживања се не јављају на Андроиду 11.

Међутим, Ромаин Гуи из тима Андроид Тоолкит-а у Гоогле-у верује да је основни узрок овог проблема је само у начину на који се израчунава осветљеност, а не у проблемима конверзије простора боја. Гоогле спроводи сопствено интерно тестирање, тако да ћемо вероватно ускоро видети шта ће смислити.

Ово објашњење је ажурирано да би се разјаснило да је један од пиксела у „проклетој“ позадини узрок ове специфичне грешке у прорачуну заокруживања осветљености. Такође смо појаснили да се заокруживање дешава током сваког корака израчунавања осветљености, а не на крају.


Ажурирање 2: Поправљено у закрпама за август 2020

Безбедносне закрпе за Андроид за месец август управо кренуо уживо, и КСДА Рецогнизед Девелопер луца020400 уочио а урезивање у АОСП који спаја исправку за ову грешку у позадини.