Mellékleteink: HUP | Gamekapocs
Keres
8 x 3 óra mélyvíz a HWSW mobile! második napján: Kotlin, Android, React Native, UX és analitika, Azure IoT Edge + fintech élesben

"Csorgatott" frissítések jönnek az Android O-val

Gálffy Csaba, 2017. augusztus 08. 16:59

Nem kéri a felhasználót a tárhely felszabadítására az Android O. A friss dokumentáció szerint megint csavart egyet a Google a rendszerfrissítések logikáján, jön a "streaming update".

hirdetés

A mobil operációs rendszerek frissítése komoly probléma a felhasználói élmény szempontjából: a letöltések hatalmasak, ehhez tárhelyet kell felszabadítani, a telepítés időigényes, ami alatt a telefont nem lehet használni (bejövő hívásokra sem), és ehhez hozzájön a letöltés adatforgalma is, ami szintén jelentős tétel, még Wi-Fi-n is.

A Google már egy ideje aktívan dolgozik a probléma megoldásán, így például az időigényes telepítést sikerült az Android 7-ben kiküszöbölni. Az akkor bevezetett technika ötletes, de kissé pazarolja a tárhelyet, ugyanis két rendszer partíciót használ. A frissítés a letöltést követően az inaktív partícióra települ, az újraindítás után pedig a frissített rendszer bootol be, nincs negyedórás-félórás kiesés a használatból. A megközelítés nem lett túl népszerű, tudomásunk szerint az Android 7 tavalyi megjelenése óta továbbra is a Google Pixel telefonok az egyetlenek, amelyek implementálják a dupla rendszerpartíciót.

A Google mindenesetre hangsúlyozza, hogy a két partíció használata nem olyan pazarló: a Pixel esetében ugyanis a cache és a recovery partíciókat teljesen ki lehet vezetni, maga a rendszer partíció mérete pedig (némi extra optimalizációval) felére, 2 gigabájtra csökkenthető, így mindössze 320 megabájttal igényel többet az AB-frissítés, mint a hagyományos módszer.

A fenti megoldás ugyanakkor még mindig nem tökéletes, a letöltéshez továbbra is helyre van szükség a "rendes", a felhasználó által is elérhető háttértáron. Ide kerülnek a képek, zenék, videók, az alkalmazások különböző állományai, és ide töltődik le maga a telepítő állomány is, hogy később innen kerüljön át a rendszerpartícióra. Ez sokszor a telepítés komoly akadálya, a sokszáz megabájtos rendszerfrissítésekhez nem mindig van elegendő szabad tárhely, ilyenkor jöhet a válogatás és törölgetés - és erre a felhasználó nem is mindig veszi rá magát.

A Google új, várhatóan az Android O-val érkező megoldása átvágja a gordiuszi csomót és kombinálja a dupla rendszerpartíciót a letöltéssel - ahogy az Ars Technica is jelenti. A logika roppant egyszerű: a frissítést a rendszer közvetlenül az inaktív rendszerpartícióra tölti le, így nincs szükség a user partíción (/data) a hely felszabadítására. A rendszerképet így egyszerűen a háttérben letöltődik, majd ennek végeztével a felhasználó egy egyszerű felszólítást kap az eszköz újraindítására - ezt követően pedig már a friss rendszer áll fel.

A Google közlése szerint a megoldás már Android 7.0-s eszközökkel is működik majd, az egyetlen feltétel a Google Mobile Services friss verziójának jelenléte. A letöltés során a lemezképet a rendszer blokkonként tölti le az éppen inaktív rendszerpartícióra, a /data partíción pedig mintegy 100 kilobájtnyi metaadatot tárol csupán - törölgetésre tehát nem lesz szükség. A Google ígérete szerint a háttérben folyó letöltés a felhasználói élményt nem zavarja, a "streaming update" kimondottan alacsony I/O-terhelést jelent majd.

A megközelítés további előnye, hogy ha a telepítés valamiért sikertelen, akkor nincs veszélye az eszköz "brickelésének", legalább egy partíció működőképes marad, így az bármikor visszatölthető biztonságosan.

Dolgoznak a problémán

A fenti ugyanakkor nem oldja meg persze az androidos rendszerfrissítések szinte teljes és tökéletes hiányát. A gyártók ugyanis sem a főverziók kiadásával, sem a biztonsági frissítésekkel nem haladnak, a Google erőfeszítései ellenére sincs érdemi előrelépés ezen a téren. A BlackBerryk mellett néhány gyártó zászlóshajója (és persze a Google-féle Nexusok és Pixelek) kapnak rendszeres frissítést - a tömegmodellek szinte soha.

A Google-nek van azért még puskapora, a legfrissebb, májusban bejelentett lépés pedig igencsak ígéretesnek tűnik: ez modularizálná az operációs rendszert úgy, hogy az Android nem-Google részét drámaian visszavágja. A gyártók, a mobilszolgáltatók és a lapkagyártók számára egy új, alacsony szintű kompatibilitási réteget ír elő, ez lesz a VTS (Vendor Test Suite), ennek kell majd megfelelniük az eszközöknek ahhoz, hogy a Google áldását (és a Play Store-hozzáférést) megkapja a telefon vagy tablet.

A gyakorlatban ez azt jelentheti majd, hogy a Google immár nem csak a Play Services API-szettjét, hanem a teljes androidos frameworköt (értsd: a rendszert magát) frissíteni tudja, biztonsági javításokkal és új funkcionális frissítésekkel egyetemben. A szabványos VTS interfész pedig garantálja, hogy a Google-nek egy fix hardverabsztrakciós réteggel (HAL) kell dolgoznia, ami nyilván a tesztelést is megkönnyíti majd.

Kotlin alapok Androidhoz, Android refaktorálás, React Native gyorsítósáv, UX és analitika, Azure IoT Edge, fintech élesben: alkalmazásfejlesztés banki aggregátor API-ra, itthon először!