Ve všech generacích zařízení Android - až po Marshmallow - aktualizace operačního systému fungovaly v podstatě stejným způsobem: aktualizace se stáhne, telefon se restartuje a aktualizace se použije. Během této doby se telefon stane nepoužitelným, alespoň dokud nebude aktualizace plně nainstalována. Díky novým „bezproblémovým aktualizacím“ společnosti Nougat je tento model minulostí.
Jak se aktualizace změnily v systému Android 7.0 Nougat
Google převzal stránku ze svého vlastního OS Chrome pro novou metodu aktualizace. Chromebooky fungovaly efektivně vždy takto: aktualizace se stáhne na pozadí a poté vyzve uživatele, že k dokončení procesu instalace je nutný restart. Jedno rychlé restartování později a aktualizace je dokončena - žádné čekání na instalaci aktualizace, žádné „optimalizace“ ani žádné další věci, které, zdá se, zabere . Je to rychlé, snadné a hlavně nemá nepřiměřené množství prostojů.
Počínaje Androidem 7.0 je to směr, kterým se vydávají aktualizace pro Android. Zde stojí za zmínku, že toto platí pro zařízení aktualizovaná na Nougat, pouze pro zařízení dodávaná se softwarem. Důvod je zcela logický: tato nová metoda aktualizace bude k fungování vyžadovat dva systémové oddíly a téměř všechny současné telefony Android mají pouze jeden. Re-rozdělení zařízení za běhu by mohlo být potenciálně katastrofické (a pravděpodobně by to bylo v mnoha scénářích), takže rozhodnutí společnosti Google nechat to na telefonech současné generace osamocené je úctyhodné, i když to není pravda.
Funguje to asi takto: existuje aktivní systémový oddíl a spící oddíl, což jsou vzájemné zrcadlové obrazy. Když bude k dispozici aktualizace OTA, aktivní oddíl ji stáhne a poté aktualizuje neaktivní oddíl. O jeden restart později se neaktivní oddíl stane aktivním a dříve aktivní oddíl se stane neaktivním, což vyžaduje aktualizovaný software.
PŘÍBUZNÝ: Jak ručně upgradovat zařízení Nexus pomocí továrních obrázků Google
Díky tomu je celý proces aktualizace nesmírně rychlejší, ale slouží také jako jakýsi záložní systém. Pokud se s aktualizací něco pokazí, systém dokáže zjistit, že při bootování došlo k chybě, a jednoduše se vrátit zpět k nedotčenému systémovému oddílu. Po restartu může poté znovu provést ping na stahovací servery, znovu použít aktualizaci a restartovat znovu, aby byl proces dokončen. Ve srovnání s tím, jak se v současném systému řeší katastrofické chyby aktualizací - což vyžaduje hodně interakce s uživateli, vývojové nástroje pro Android a znalost příkazového řádku —Dvojdílný způsob je jednoduše lepší.
Ještě jsme to neviděli v akci, takže stále existuje spousta otázek
Samozřejmě přichází s vlastní sadou otázek a obav. I když chápeme, jak tento systém teoreticky funguje, musíme ještě vidět, jak si v praxi skutečně vede, protože Nougat ještě neměl aktualizaci a žádná zařízení nebyla dodávána s 7.0. Cokoli je spekulace, ale představoval bych si, že když se například použije aktualizace, pravděpodobně to bude docela tvrdý zásah do výkonu systému.
Kromě toho, pokud jste něco jako já, přečetli jste si výše uvedenou část a pomysleli jste si: „kolik místa zaberou dva systémové oddíly?“ Dalo by se automaticky předpokládat, že to zabere dvojnásobné množství prostoru, což není úplně nesprávné, ale musíte si také uvědomit, že se jedná o oddíly, což neznamená, že bude vyžadovat dvě kopie každé nainstalované aplikace. To stále znamená, že současné systémy, které zabírají jeden gigabajt - což je u operačního systému Android neobvyklá velikost - mohou nyní v podstatě vyžadovat dva gigabajty (nebo více).
Google přešel na nový souborový systém s názvem SquashFS, což je vysoce komprimovaný souborový systém jen pro čtení původně navržený pro vestavěné systémy v situacích s nízkou pamětí. To by rozhodně mělo pomoci vyrovnat některé problémy s prostorem, které budou nevyhnutelně doprovázeny nastavením dvou systémů. Přesto můžeme začít vidět zařízení dodávaná s minimální 32 GB vpřed. Čas ukáže.
Rovněž není jasné, co se po aktualizaci stane s novým spícím oddílem. Existuje možnost, že by se pak mohla aktualizovat na pozadí a pak počkat, až dorazí další nový OTA, ale neexistuje žádná technická dokumentace, která by tuto teorii podporovala - jen já přemýšlím nahlas. Přesto se mi zdá, že to dává smysl, protože jinak by se tento nový systém zjevně zdál jako kdysi hotový scénář aktualizace, což je přesně opačný směr, než se sem Google snaží jít.
Bohužel zatím neexistuje zařízení podporující nový systém Seamless Update, takže některé z těchto otázek budou muset zůstat bez odpovědi. Jakmile se začnou zavádět nové generace telefonů, budeme mnohem lépe rozumět tomu, jak to všechno bude fungovat ve skutečném světě. Ale zatím: Zní to jako velmi dobrá věc.