Aktualizace aplikací pro Android budou výrazně menší, ale zaberou více času

5

Google na svém vývojářském blogu oznámil novinku, který bude mít citelný dopad na uživatele Androidu. Mění totiž systém rozdílových aktualizací. Uživatel si tak z Play Storu stáhne méně dat, ale zato jejich zpracování bude trvat déle. Starší a pomalejší zařízení to pravděpodobně hodně zbrzdí. Google ale tímto krokem denně ušetří až 6 petabajtů přenesených dat.

Rozdílové aktualizace fungují v Play Storu už od roku 2012. Do té doby uživatelé vždy stahovali kompletní instalátor nahraný vývojářem, přestože v něm mohl opravit jen jeden řádek zdrojového kódu. S rozdílovými updaty se ideálně stáhnou jen ta data, u kterých došlo ke změně. Naposledy Google tento proces vylepšil letos v létě, kdy implementoval algoritmus bsdiff pro tvorbu rozdílových záplat. Přinesl až 50% úsporu dat.

Aktuální novinka bude ještě účinnější. Doposud se totiž rozdílová tabulka tvořila pro celý APK instalátor, což je jen trochu jinak zabalený ZIP využívající kompresi Deflate. A Deflate je sice efektivní a rychlý, jenže má tu nevýhodu, že drobná úprava nekomprimovaného textu (zdrojového kódu) výrazně změní jeho komprimovanou verzi. Jak je vidět na obrázku, když se písmeno I přepsalo na O. Rozdílová záplata je kvůli tomu zbytečně velká.

Malá změna v nekomprimované podobě, velká v komprimované

Google proto vymyslel jinou fintu nazvanou file-by-file patch. Při ní se porovnávají změny na nekomprimovaných datech (stále s využitím metody bsdiff). Google na svém serveru připraví rozdílový balíček tak, že nejdříve rozbalí původní i nový soubor APK a porovná data. Vytvoří rozdílovou záplatu a tu zašle do zařízení uživatele. U něj se rozbalí původní APK (je tam pořád uložené) i zaslaná rozdílová tabulka, záplata se aplikuje na původní data a zabalí se do nového APK. Takový soubor pak bude stejný jako ten, který na servery Googlu nahrál vývojář. No a pak už se instaluje.

Aktualizace v Play Storu budou menší
Aktualizace v Play Storu budou menší 

Původní metoda nasazená v létě znamenala v průměru 47% úsporu dat oproti tomu, kdyby uživatelé museli stahovat celý původní instalátor APK. File-by-file patch je v průměru úspornější o 65 %. V některých případech jsou rozdílové soubory o více než 90 % menší než původní soubor APK.

Jenže rozbalování, aplikace patche, zabalování a následná instalace je výpočetně (a tedy i časově) náročnější. Na moderních zařízení prý rekomprese jede rychlostí asi 1 MB za sekundu, na starších a pomalejších to bude mnohem horší. Google zjistil, že pokud je záplata o polovinu menší než původní soubor, celková instalace zabere dvakrát tolik času. File-by-file patching proto zatím bude fungovat jen u automaticky aktualizovaných aplikací.

Zdroj: Google

Aktualizace aplikací pro Android budou výrazně menší, ale zaberou více času

Ohodnoťte tento článek!

5 KOMENTÁŘE

    • Jo paráda prostě, vloni pořízený Sony Xperia E4g s čtyřjádrem tak můžu rovnou zahodit, už tak je to totálně zasekanej křáp, už tak byla aktualizace jakékoliv aplikace horor. Aktualizovat 5 aplikací znamenalo nepoužitelný mobil na čtvrt hodiny… Je to vážně smutný, na Windows stále těžký nedostatek aplikací, iOS zařízení drahé a mimo Apple ekosystém omezené, Android neustále zasekaný zaostalý děravý bordel.

      • Co byste taky chtěl? Prostě si pořiďte 3 GHz šestnáctijádro a 8 GB RAM a pojede vám to jedna báseň, zmáknete to za čtrnáct minut! 🙂

        A nevěřte tomu, že na jiných OS jsou aktualizace okamžité.

        • Inu, když porovnám Lenovo A2010 a Lumii 650, tak Lumia v rychlosti provádění aktualizací vede „o parník“. Okamžité to sice není, ale oproti androidu výrazně rychlejší.
          Z mého pohledu další smrtící rána pro android, ale je mi jasné, že lidé systém nevymění, i kdyby na něj sebevíce nadávali.