Google priznava, da Android zaostaja: Koda za čakalno vrsto aplikacij je bila ponovno napisana za prihajajočo različico
Inženirji Googla so objavili tehnično poglobitev v eno od ključnih, a subtilnih sprememb v prihajajočem Androidu 17. Zdi se, da se je podjetje odločilo resno spoprijeti s težavo, ki frustrira celo lastnike vrhunskih naprav—tistimi mikro-zastoji v uporabniškem vmesniku, ki se zgodijo, ko preprosto pomikate po feedu ali odpirate mapo, kar povzroča, da slika skoraj neopazno zastane.
V novi različici operacijskega sistema so prepisali ključno komponento, imenovano MessageQueue. Preprosto povedano, pomislite nanjo kot na razdeljevalnika, ki upravlja, kateri procesi dobijo dostop do pomnilnika za prikazovanje zaslona in kdaj. Prej je ta razdeljevalnik deloval na principu ekskluzivnega dostopa: enotna zaklepanje na celotnem naboru podatkov. Če je ozadnji proces (kot je preverjanje uporabe aplikacij) prevzel to zaklepanje, in nato se je operacijski sistem preusmeril na druge naloge, je bil uporabniški nit ujet v čakanju. Rezultat? Izpuščeni sličice in splošni občutek, da sistem "okleva" ali deluje počasi.
V Androidu 17 so opustili ta pristop in zamenjali enotno zaklepanje z mehanizmom, imenovanim DeliQueue. Ime je namerno—inženirji potegnejo analogijo s sistemom vstopnic na mesni pult. V klasični vrsti (kot prej) naslednja oseba ne more napredovati, dokler oseba na pultu ne zaključi celotne transakcije. V novem sistemu vsak nov proces dobi "vstopnico" in lahko opravlja svoje naloge, ne da bi blokiral druge. Glavna nit (uporabniška nit) nato odloča o vrstnem redu obdelave prihajajočih nalog, vendar brez vstopanja v stanje čakanja.
Za nadaljnje pospeševanje so inženirji tudi odstranili pogojne veje v kodi za primerjavo sporočil. V klasični kodi CPU poskuša napovedati, ali naj vzame "da" ali "ne" vejo; če je napoved napačna, se čas izgubi pri čiščenju cevovoda. V novi implementaciji je to zamenjano z "nepogojno" aritmetiko, ki je v sintetičnih testih pokazala povečanje zmogljivosti do 500% v scenarijih z visoko konkurenco.
Redni uporabniki ne potrebujejo ročno aktivirati DeliQueue. To je optimizacija na ravni sistema, ki je privzeto omogočena za vse aplikacije, ki ciljajo na Android 17. Razvijalci že imajo dostop do orodij za testiranje, nepotešeni pa lahko namestijo zgodnje različice sistema na združljive naprave Pixel.
Kaj menite, ali bo to dejansko rešilo težave s fragmentacijo in zamikom na različnih napravah, ali pa, kot ponavadi, gre le za "obljube na papirju," in v resnici bodo proizvajalci spet vse pokvarili s svojimi prilagojenimi vmesniki?

