Samsung Galaxy S25: Nu met Galaxy Tab S6 Lite!

Zo maakt Google app-updates in Play Store veel kleiner

Sander Tuit
Sander Tuit
7 december 2016, 9:35
3 min leestijd

Updates via de Google Play Store

Lees verder na de advertentie.

Wanneer een ontwikkelaar een nieuwe versie van zijn applicatie of game uitbrengt via de Google Play Store, dan biedt hij Google geen update aan, maar een volledig nieuw installatiebestand. In het verleden, voor 2012, betekende dit dat zelfs bij een kleine update het volledige installatiebestand opnieuw gedownload moest worden.

Ontwikkelaars kunnen zelf geen update-bestanden maken, maar Google biedt deze wel aan via de Play Store. Daarbij wordt het verschil tussen de vorige versie en de huidige versie berekend. Het interessante aan deze aanpak, waarbij Google deze berekeningen doet, is dat het bedrijf kan experimenteren met verschillende manieren om de verschillen te berekenen en in een updatebestand te verwerken.

Databesparing bij app-updates

Afgelopen juli maakte Google bekend dat het gebruik maakte van een nieuwe manier van het berekenen van de verschillen tussen app-versies. Er werd toen gebruik gemaakt van het bsdiff-algoritme. Dit zorgde er toen al voor dat updates gemiddeld 47% kleiner waren dan het volledige installatiebestand. Nu heeft Google bekend gemaakt een nieuwe aanpak te gebruiken, waarbij updates gemiddeld 65% kleiner zijn dan het volledige installatiebestand.

Er wordt nog steeds gebruik gemaakt van het bsdiff-algoritme, maar daarbij wordt gekeken naar de verschillen in de individuele bestanden, een file-by-file-aanpak. De reden dat dit veel efficiënter is, heeft te maken met de manier waarop installatiebestanden voor Android-apps in elkaar zitten. Het grootste gedeelte van de bestanden wordt namelijk verkleind (gecomprimeerd) en door het compressie-algoritme dat wordt gebruikt, leiden kleine verschillen in bronbestanden al voor hele andere verkleinde bestanden. Google illustreert dit met de onderstaande animatie. Daarin zie je dat het veranderen van een elke letter tot een heel ander verkleind bestand leidt.

In de nieuwe aanpak worden alle bestanden in een app die verkleind zijn eerst weer naar hun originele formaat teruggezet. Daarna worden pas de veranderingen berekend en dat betekent dat deze veranderingen een stuk kleiner zijn. In het voorbeeld hierboven zou slechts de verandering van een enkel karakter omschreven hoeven te worden plaats van de volledige tekst. Doordat er verschillende waarden gecontroleerd worden door Google en de digitale handtekening van het eindresultaat, wanneer een app geüpdatet is op deze manier, wordt uitgebreid gecontroleerd om te voorkomen dat er fouten optreden bij het aanmaken van het updatebestand of bij het updaten zelf.

De voordelen van deze aanpak zijn groot, zoals we kunnen zien in de grootte van de update-bestanden. Volgens Google levert dit 6 petabytes(!) aan databesparing per dag op. In de tabel hieronder zie je de besparingen bij updates voor verschillende populaire apps. De rechterkolom laat de nieuwe aanpak zien en wanneer we deze vergelijken met de vorige aanpak, zien we grote verbeteringen bij de meeste updates.

Alleen bij automatische updates

Vooralsnog zul je de kleinere updates niet terugzien wanneer je in de Google Play Store kijkt. De updates gelden vooralsnog alleen voor updates die automatisch op de achtergrond worden uitgevoerd. Dat houdt in dat de databesparing voor de meeste mensen alleen te zien zal zijn in het wifi-gebruik, aangezien bij veel mensen automatische updates alleen via wifi worden geïnstalleerd.

Dat handmatige updates vooralsnog op de oude manier gedaan wordt, heeft een interessante reden. Het gebruik van het nieuwe update-mechanisme heeft namelijk een belangrijk nadeel: het is veel processor-intensiever. Doordat het verwerken van de nieuwe updates veel meer rekenkracht vergt, duurt het installeren van een update veel langer dan voorheen. Volgens Google duurt het verwerken ongeveer een seconde per MB langer dan voorheen op een modern apparaat (uit 2015). Op oudere apparaten duurt het zelfs nog langer. Wanneer een updatebestand gehalveerd is qua grootte, leidt dit volgens Google tot ongeveer een verdubbeling van de installatietijd.

Je merkt weinig van deze langere installatietijd wanneer apps op de achtergrond worden geüpdatet, maar wanneer je aan het wachten bent op een handmatige update, kan deze extra tijd voor frustratie zorgen en Google heeft daarom besloten vooralsnog de oude manier van updaten te blijven gebruiken bij handmatige updates.

Lees meer over

Op de hoogte blijven?

Volg Androidworld nu ook op WhatsApp

Download de nieuwe Androidworld-app!

Reacties

1

Inloggen of registreren
om een reactie achter te laten

7 december 2016, 13:58

Goed van ze dat ze onderscheid maken tussen handmatig updaten en automatisch updaten. Ik zit idd niet te wachten op een lange installatie tijd wanneer ik hem handmatig update, dan wil ik hem zsm.