[Frissítés 2: Javítva] Ez a háttérkép egy ritka hibát vált ki, amely az Android-eszközök rendszerindítását okozza

click fraud protection

Ez a háttérkép egy ritka hibát vált ki, amely az Android-eszközök rendszerindítását okozza. Ne próbálja ki a háttérképet az eszközén, különben elveszítheti az összes adatát.

2. frissítés (2020.08.03., 15:03 ET): A 2020. augusztusi Android biztonsági javításokkal a Google frissítette az Android rendszert, hogy kijavítsa ezt a hibát. További részletek az alján találhatók.

1. frissítés (2020.04.06., 03:12 ET): Újabb magyarázatok születtek arra vonatkozóan, hogy mi okozza az "átkos háttérkép" összeomlását a telefonokban, a Google válasza mellett. További információkért görgessen az aljára. A 2020. június 1-jén megjelent cikk az alábbiakban megmarad.

Képzeld el, hogy az internetet keresed menő háttérképek és festői tájra bukkansz. Mindene megvan; buja zöld erdő, érintetlen tó apró szigettel, hófödte hegyekkel a háttérben, és vastag felhőtakaróval, melyen a réseken át beszivárog a napfény. Azonnal letölti a képet, beállítja telefonja háttérképének, és bumm! Android-telefonja beragad egy rendszerindítási hurokba. Valószínűtlennek hangzik, nem? Nos, ez igaz erre a tapétára.

A háttérképet nemrégiben osztották meg Twitteráltal neves Samsung kiszivárogtató Ice Universe, aki azt állította, hogy a háttérkép "összeomolhatja a telefonját!" Figyelmeztetésük ellenére többen A felhasználók letöltötték a háttérképet, hogy ellenőrizzék, valóban csinál-e valamit a telefonjukon, és a következőkkel találkoztak eredmények:

Davide Bianco, az AOSP-alapú szoftver vezető fejlesztője szerint egyedi ROM „POSP”, ez a különleges háttérkép egyes Android-eszközök összeomlását okozza, mivel az RGB színteret használja az Androidon natívan támogatott sRGB színtér helyett. Biancónak van beadott egy javítást az AOSP-hez, amely állítólag kijavítja a problémát, és a javítás leírása szerint "A probléma akkor jelentkezik, amikor a felhasználó nem sRGB képet próbál meg háttérképként beállítani. Az történik, hogy az y változó értéke magasabb, mint a hisztogram határértéke, ami a SysUI összeomlásához vezet. Az egyik lehetséges javítás az, hogy az y értéket mindig 256-nál kisebbre korlátozzuk." Bianco mellett két fejlesztő, az XDA vezető tagja BadDaemon és XDA elismert fejlesztő luca020400, a népszerű LineageOS egyedi ROM csapatától szintén egyedi megoldást találtak a problémára. A javítások leírását a LineageOS Gerriten tekintheti meg, ha követi ez a link és ez a link.

Nyomatékosan javasoljuk, hogy semmilyen körülmények között ne használja ezt a képet háttérképként. Abban az esetben, ha már használta, és eszköze beragadt egy rendszerindítási hurokba, kérjük, ellenőrizze az alábbi utasításokat, hogyan állíthatja helyre eszközét.

A jelentés től 9to5Google az ügyben az is kiderül, hogy a probléma az Android 10 vagy régebbi rendszert futtató eszközökre korlátozódik, és nem érinti a Android 11 Fejlesztői előnézet. Ez annak köszönhető, hogy Android 11-en a rendszer átalakítja a színteret, ha nem támogatott, Android 10-en viszont nem. Ez azt jelenti, hogy ez nem probléma ezzel a képpel, hanem más, RGB színteret használó képek is okozhatják.

Vegye figyelembe, hogy bár a probléma nem érinti az összes Android-eszközt, erősen javasoljuk, hogy ne próbálja ki a háttérképet a telefonján. Abban az esetben, ha mégis megpróbálja, lehetséges, hogy visszaállíthatja eszközét teljesen alaphelyzetbe állításával, vagy csökkentett módba való belépéssel és a háttérkép megváltoztatásával. De mivel néhány felhasználó túl van Twitter nem tudták visszaállítani eszközeiket a fent említett módszerekkel, az lenne a legjobb, ha nem a pontos képet használnád háttérképként. Ha nagyon tetszik a háttérkép, csak készítsen képernyőképet a képről, és használja inkább háttérképként.


1. frissítés: Új magyarázat, válasz a Google-tól

A hiba okainak kifejtése az XDA vezető tagjának magyarázata szerint BadDaemon és XDA elismert fejlesztő luca020400, az „átkos” tapéta egy speciális színtérbe van kódolva, melynek neve „Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126” (ez a színtér teljes neve, a Skia pedig a A Google által készített 2D grafikus könyvtár.) Ezzel szemben a legtöbb egyéb háttérkép az "sRGB" színtérben van kódolva.

Az Android 10-es és régebbi verzióiban minden kép sRGB-re konvertálódik, hacsak a fejlesztők másként nem rendelkeznek. Ritka hiba fordulhat elő a kép sRGB formátumba konvertálásakor, amikor is az egyes pixelek fénysűrűségét kiszámító kódnak sikerül túllépnie a 255-ös maximális határt.

A fénysűrűséget a következő képlet segítségével számítják ki:

Fénysűrűség = .2126f * r + .7152f * g + .0722f * b

Itt az „r”, „g” és „b” piros, zöld és kék színértékek, 0 és 255 közötti 8 bites értékben.

Ezzel a számítással az a probléma, hogy minden részt mindig felfelé kerekítenek a végső összegzés előtt. Az „átkos” háttérkép egyik képpontja, amikor a kép sRGB-ből való konvertálása folyamatban van, majd szürkeárnyalatosra a következő RGB-értékekkel rendelkezik: 255, 255, 243, amely a fenti egyenlethez csatlakoztatva úgy néz ki mint:

r: 0,2126 * 255 = 54,213 => 55

g: 0,7152 * 255 = 182,376 => 183

b: 0,0722 * 255 = 18,411 => 19

Fénysűrűség = r+ g + b = 257

Ez az érték a SystemUI és alapvetően az egész operációs rendszer összeomlását okozza, mert meghaladja a maximális értéket. Ez egy olyan hihetetlenül specifikus hiba, mert a kerekítési hiba és a színtér-konverziós hiba kombinációját tartalmazza.

Ez a hiba nem érinti az Android 11-et, mert a kép „Skia” színterét alapértelmezés szerint nem konvertálja sRGB-re. Így ez a színtér-konverziós hiba és a kerekítési hiba nem fordul elő Android 11-en.

Romain Guy azonban a Google Android Toolkit csapatától úgy véli, hogy ennek a problémának a kiváltó oka csak a fénysűrűség kiszámításának módja, és nem a színtér-konverziós problémák. A Google saját belső tesztelését végzi, szóval valószínűleg hamarosan meglátjuk, mivel rukkolnak elő.

Ezt a magyarázatot frissítettük annak tisztázására, hogy az „átkos” háttérkép egyik képpontja okozza ezt a konkrét fénysűrűség-kerekítési számítási hibát. Azt is tisztáztuk, hogy a kerekítés a fénysűrűség-számítás minden egyes lépése során történik, és nem a végén.


2. frissítés: Javítva a 2020. augusztusi javítások

Az augusztusi Android biztonsági javítások most indult élőbenés XDA elismert fejlesztő luca020400 foltos a commit az AOSP-ben amely egyesíti ennek a háttérképhibának a javítását.