Stejná aplikace je u iPhonu vždy větší než na Androidu. Kvůli odlišnému značení i systému samotnému

před 3 týdny 65

Pokud se podíváte na stejné aplikace pro systémy Android a iOS, asi tak nějak počítáte, že u obou platforem nebudou mít stejnou velikost (v MB(. Detailní pohled však ukazuje, že jsou rozdíly ve velikosti aplikací obrovské. Např. Gmail pro Android zabírá 34 MB, zatímco Gmail pro iOS uvádí kapacitu přes 547 MB! Pravda je ve finále sice trochu někde jinde, ale i přesto jsou aplikace pro Android výrazně prostorově úspornější, takže v interní paměti nezabírají tolik místa jako stejné aplikace u iPhonů.

Klepněte pro větší obrázek
Toto je zcela běžný nepoměr ve velikosti identické aplikace v iOS (vlevo) a na Androidu. iPhony ukazují kompletní velikost zkompilovaného kódu, které stahují. U Androidu je to jen čistá instalace a až po ní se kód částečně předkompiluje

Rozdíl ve velikost aplikací není až tak propastný jako ve výše uvedeném příkladu, a to kvůli tomu, že se bavíme o dvou rozdílných přístupech systémů. Android v obchodu Google Play ukazuje velikost staženého souboru, tedy množství dat přenesených přes internet. Po instalaci se však některé části aplikace předkompilují do nativního kódu. Ten je uložený ve stejném úložišti jako samostatná aplikace, což její velikost, oproti deklarované velikosti na Google Play, hned po instalaci zvyšuje. Zbytek aplikace se kompiluje až za běhu aplikace.

Rozdílný přístup Androidu a iOS

Aplikace pro systém iOS mají vyšší uváděnou kapacitu, než u Androidů, proto, že z App Storu stahujete kompletně zkompilovanou aplikaci. Americký gigant si to může dovolit, protože je dodavatelem hardwaru i softwaru. Apple navíc používá programovací jazyk Swift, který je robustnější, a sám o sobě generuje větší množství nativního kódu, než u Androidu. A Apple má i další nástroje, které zvyšují velikost aplikací přidáním doplňkových kódů, třeba lokalizací, které se stahují automaticky, i když se nepoužívají. Jen Gmail ve zmiňovaném balíčku obsahuje 130 MB dat lokalizací pro Gmail, byť řada uživatelů používá lokalizaci pouze jedinou. 

Android naproti tomu při stahování dokáže stáhnout jen ty komponenty, které jsou u telefonu dané výbavy a značky požadovány. Pro stahování navíc využívá úspornější formát Android Bundle. A díky tomu, že je předkompilovaná jen část kódu, při přímém srovnání je velikost aplikací pro iOS zhruba 3,5× větší, než u Androidu.

Pokud bychom měli oba mobilní systémy dostat „na stejnou vlnu“, nebyly by rozdíly tak dramatické. Pokud by Androidy z Google Play stahovaly kompletně zkompilované aplikace, byly by stále o 50 % menší, než ty na iPhonech.

Ukázková mobilní aplikace Linear:

  iOS Android rozdíl V obchodu Velikost ke stažení Velikost instalace (běžná) Velikost (plná kombilace)
88,3 MB 9,52 MB 9,25× (78,78 MB)
33,6 MB 9,52 MB 3,5× (23,94 MB)
87,6 MB 25,81 MB 3,5× (61,59 MB)
87,6 MB 56,08 MB 1,5× (31,5 MB)

Zdroj: Emergetools, Reddit

Přečtěte celý článek