Pokud jste hardcore fanoušek Android, šance jsousilný, že byste dychtivě vyzkoušeli nová témata, vlastní ROMy a všechny takové mody pro vaše zařízení. Jedním z hlavních zmatků je terminologie spojená s těmito mody - něco, co je vývojářům docela dobře známo, ale pro začínajícího uživatele to není moc. Dvě z nejčastěji se vyskytujících slov ve vlastních ROMech a tématech jsou „deodexed“ a „zipalign“. Před několika dny jsme podrobně „deodexovali“. V tomto článku to prozkoumáme co znamená zipalign a jak lze APKs zarovnat.

CO JE ZIPALIGN?
zipalign je zaveden nástroj pro zarovnání archivupoprvé s 1.6 Android SDK (sada pro vývoj softwaru). Optimalizuje způsob balení balíčku aplikací pro Android (APK). To umožňuje operačnímu systému Android interagovat s aplikací efektivněji, a proto má potenciál učinit aplikaci a celkově celý systém mnohem rychlejší. Doba provádění je minimalizována pro aplikace s aplikací na zip, což má za následek menší spotřebu RAM při spuštění APK.
Jak to tedy přesně funguje?
V operačním prostředí Android datové souboryuložené v každém aplikačním balíčku jsou přístupné několika procesy, například instalační program přečte datový manifest a určí související oprávnění; systémový server může tyto prostředky číst z několika důvodů, například zobrazování oznámení; například aplikace Home přečte prostředky, aby získala název a ikonu aplikace. Protože Android je založen na skutečné víceúčelové operační infrastruktuře, jsou k těmto souborům trvale a opakovaně přistupovány. Konečně, ale v neposlední řadě, samotná aplikace čte manifestní data.
Protože Android je založen na Linuxu, hraje se mapování pamětiklíčová role při efektivní manipulaci s procesy. Optimální zarovnání kódu pro zacházení se zdroji operačního systému Android OS je v podstatě hranice 4 bajtů. To znamená, že pokud jsou soubory APK mapovány na 4-bajtové hranice a podle toho jsou zarovnány, OS nebude muset „načíst“ celý aplikační balíček, aby se dostal k požadovanému datovému manifestu. Každý systémový proces bude předem vědět, kde hledat požadované zdroje, a proto bude provádět mnohem plynulejší a rychlejší.
Když to shrneme, výsledkem je rozdělení APK ve výsledkunekomprimovaná data v balíčku musí být zarovnána na 4-bajtových hranicích, což umožňuje přístup ke všem částem přímo s mapou paměti. Během provádění se spotřeba paměti RAM snižuje, protože kód dotazování nemusí číst celý balíček aplikace.
NEVÝHODY NEZNAČENÝCH APK
Zcela pochopitelně by byla situace vyhrazenapro nezařazené aplikační balíčky. Čtení zdrojů by bylo pomalé a využití paměti by bylo na horním konci spektra. Závisí by také na tom, kolik aplikací není zarovnáno. Například, pokud je méně aplikací s nepřiřazenou domácí aplikací, zobrazí se pomalejší doba spuštění aplikace. Toto je nejlepší scénář. V případě nejhoršího případu bude mít množství nesouvislých aplikací za následek opakované spouštění a zabíjení procesů v systému, potížení se zpožděním a obrovské vybití baterie.
Jak to děláte, potom?
Jak již bylo zmíněno, nástroj zipalign se stal součástí Android SDK od 1.6. Najdete ji ve složce „tools“ v sadě SDK. Chcete-li jej použít, jednoduše spusťte příkaz:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
kde infile.apk je zdrojový soubor a outfile.apk je výstupní soubor.
Rovněž můžete také ověřit zarovnání souboru APK pomocí následujícího příkazu:
zipalign -c -v <alignment> existing.apk
kde existing.apk může být jakýkoli aplikační balíček, který musíte ověřit. Také <zarovnání> tag v obou příkazech musí být integrálníhodnota (jinak bude příkaz neplatný). Tato hodnota, i když může být libovolné celé číslo, MUSÍ být vždy 4, což by zajistilo 32bitové zarovnání. Jakákoli jiná hodnota a efektivně neudělá nic.
Nakonec pro příznaky použité v těchto příkazech
- -F : přepíše existující outfile.zip
- -proti : poskytne podrobný výstup
- -C : potvrdí zarovnání daného souboru
UPOZORNĚNÍ: operace zipalign musí být provedena pouze po podepsali jste soubor APK svým soukromýmklíč. Pokud je před podpisem zarovnáno na zip, bude procedura podpisu narušovat zarovnání. Totéž platí pro jakékoli jiné změny, přidání nebo odebrání souboru APK. Jakákoli změna po spuštění zipalign zruší zarovnání.
Zřeknutí se odpovědnosti: Tato příručka je určena pouze pro vzdělávací účely. To v žádném případě nenahrazuje sadu nástrojů pro vývojáře systému Android ani není určeno k použití pro vývojové účely. AddictiveTips neposkytuje žádnou podporu týkající se zde prezentovaného materiálu.
Komentáře