To ozadje sproži redko napako, ki povzroči zagon naprav Android. Ne preizkušajte ozadja v svoji napravi, sicer lahko izgubite vse podatke.
Posodobitev 2 (3. 8. 2020 ob 15.03 ET): Z varnostnimi popravki za Android iz avgusta 2020 je Google posodobil Android, da bi odpravil to napako. Več podrobnosti najdete na dnu.
1. posodobitev (4. 6. 2020 ob 3:12 ET): Pojavile so se novejše razlage o tem, kaj povzroča, da "prekleto ozadje" zruši telefone, skupaj z odgovorom Googla. Za več informacij se pomaknite na dno. Članek, kot je bil objavljen 1. junija 2020, je ohranjen spodaj.
Predstavljajte si, da brskate po internetu kul ozadja in naletiš na slikovito pokrajino. Ima vse; bujen zelen gozd, neokrnjeno jezero z majhnim otokom, zasnežene gore v ozadju in debel oblačni pokrov s sončno svetlobo, ki prodira skozi vrzeli. Takoj prenesete sliko, jo nastavite za ozadje telefona in bum! Vaš telefon Android se zatakne v zagonski zanki. Sliši se malo verjetno, kajne? No, res je za to posebno ozadje.
Ozadje je bilo nedavno deljeno na
Twitterpo priznanem Samsung leakster Ice Universe, ki je trdil, da bo ozadje "povzročilo sesutje vašega telefona!" Kljub njihovemu opozorilu več uporabniki so prenesli ozadje, da bi preverili, ali je dejansko kaj naredilo na njihovem telefonu, in naleteli so na naslednje rezultati:Po besedah Davideja Bianca, vodilnega razvijalca AOSP ROM po meri »POSP«, to posebno ozadje povzroči zrušitev nekaterih naprav Android, saj uporablja barvni prostor RGB namesto barvnega prostora sRGB, ki je izvorno podprt v sistemu Android. Bianco ima predložil popravek AOSP, ki naj bi odpravil težavo, opis popravka pa navaja, da se "Težava pojavi, ko poskuša uporabnik kot ozadje nastaviti sliko, ki ni sRGB. Zgodi se, da je vrednost spremenljivke y višja od meja histograma, zaradi česar se SysUI zruši. Eden od možnih popravkov je omejitev vrednosti y na vedno nižjo od 256." Skupaj z Biancom, dva razvijalca, višji član XDA BadDaemon in XDA Recognised Developer luca020400, iz priljubljene skupine LineageOS custom ROM, so prav tako pripravili edinstveno rešitev problema. Opise popravkov v LineageOS Gerrit si lahko ogledate tako, da sledite ta povezava in ta povezava.
Močno priporočamo, da te slike pod nobenim pogojem ne uporabljate kot ozadje. Če ste jo že uporabljali in je vaša naprava obtičala v zagonski zanki, preverite spodnja navodila, kako lahko obnovite svojo napravo.
A poročilo iz 9to5Google o zadevi nadalje razkriva, da je težava omejena na naprave s sistemom Android 10 ali starejšim in ne vpliva na naprave z Android 11 Predogled za razvijalce. To je posledica dejstva, da v sistemu Android 11 sistem pretvori barvni prostor, če ni podprt, v sistemu Android 10 pa ne. Kar pomeni, da to ni težava s to določeno sliko in da jo lahko povzročijo druge slike, ki uporabljajo barvni prostor RGB.
Upoštevajte, da čeprav težava ne vpliva na vse naprave Android, toplo priporočamo, da ne preizkušate ozadja v telefonu. Če vseeno poskusite, boste morda lahko obnovili svojo napravo tako, da jo popolnoma ponastavite ali pa vstopite v varni način in spremenite ozadje. Ker pa nekateri uporabniki prek Twitter svojih naprav niso mogli obnoviti z zgoraj omenjenimi metodami, bi bilo najbolje, če ne bi uporabili natančne slike za ozadje. Če vam je ozadje res všeč, naredite posnetek zaslona slike in ga namesto tega uporabite kot ozadje.
Posodobitev 1: Nova razlaga, odgovor Googla
Razširitev vzrokov za napako, kot jih je pojasnil višji član XDA BadDaemon in XDA Recognised Developer luca020400, je »prekleto« ozadje kodirano v posebnem barvnem prostoru, ki se imenuje »Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126« (to je polno ime barvnega prostora in Skia se nanaša na 2D grafična knjižnica, ki jo je ustvaril Google.) V nasprotju s tem je večina drugih slik za ozadje kodirana v barvnem prostoru, imenovanem "sRGB".
V različicah Android 10 in starejših se vse slike pretvorijo v sRGB, razen če razvijalci določijo drugače. Obstaja redka napaka, ki se lahko pojavi pri pretvorbi slike v sRGB, kjer koda, ki izračuna vrednost "svetilnosti" vsake slikovne pike, uspe preseči največjo omejitev 255.
Svetlost se izračuna po naslednji formuli:
Svetilnost = .2126f * r + .7152f * g + .0722f * b
Tu so "r", "g" in "b" vrednosti rdeče, zelene in modre barve, predstavljene v 8-bitni vrednosti od 0 do 255.
Težava pri tem izračunu je, da se vsak del vedno zaokroži navzgor pred končnim seštevkom. Ena od slikovnih pik v "prekletem" ozadju, ko je v procesu pretvorbe slike iz sRGB in nato v sivine, ima naslednje vrednosti RGB: 255, 255, 243, kar je videti, če je vključeno v zgornjo enačbo kot:
r: .2126 * 255 = 54.213 => 55
g: 0,7152 * 255 = 182,376 => 183
b: 0,0722 * 255 = 18,411 => 19
Svetilnost = r+ g + b = 257
Ta vrednost povzroči, da se SystemUI in v bistvu celoten OS zruši, ker presega največjo vrednost. To je hrošč, ki je tako neverjetno specifičen, ker vključuje kombinacijo napake pri zaokroževanju in napake pri pretvorbi barvnega prostora.
Ta napaka ne vpliva na Android 11, ker barvni prostor »Skia« slike ni privzeto pretvorjen v sRGB. Tako se ta napaka pri pretvorbi barvnega prostora in napaka pri zaokroževanju ne pojavita v sistemu Android 11.
Vendar Romain Guy iz ekipe Android Toolkit pri Googlu meni, da je glavni vzrok za to težavo je samo v načinu izračuna svetilnosti in ne v težavah s pretvorbo barvnega prostora. Google izvaja lastno interno testiranje, tako da bomo verjetno kmalu videli, kaj bodo prišli do tega.
Ta razlaga je bila posodobljena, da pojasni, da je ena od slikovnih pik v "prekletem" ozadju vzrok za to specifično napako pri izračunu zaokroževanja svetilnosti. Pojasnili smo tudi, da do zaokroževanja pride med vsakim korakom izračuna svetilnosti in ne na koncu.
2. posodobitev: Popravljeno v popravkih avgusta 2020
Varnostni popravki za Android za mesec avgust pravkar v živo, in XDA Recognized Developer luca020400 opazil a zaveži v AOSP ki združuje popravek za to napako v ozadju.