Jeśli jesteś zagorzałym fanem Androida, są duże szansesilne, że chętnie wypróbujesz nowe motywy, niestandardowe ROMy i wszystkie takie mody dla swojego urządzenia. Jednym z głównych punktów zamieszania jest terminologia związana z tymi modami - coś całkiem znanego twórcom, ale nie za dużo początkującym użytkownikom. Dwa najczęściej występujące słowa w niestandardowych pamięciach ROM i motywach to „deodexed” i „zipalign”. Kilka dni temu szczegółowo opisaliśmy „deodeksowane”. W tym artykule zajmiemy się co oznacza zipalign i w jaki sposób można dostosować pliki APK.

CO TO JEST ZIPALIGN?
zipalign to wprowadzone narzędzie do wyrównywania archiwówpo raz pierwszy z 1.6 Android SDK (zestaw programistyczny). Optymalizuje sposób pakowania pakietu aplikacji dla systemu Android (APK). Pozwala to systemowi operacyjnemu Android na bardziej wydajną interakcję z aplikacją, a zatem może znacznie przyspieszyć aplikację i cały system. Czas wykonywania jest zminimalizowany w przypadku skompresowanych aplikacji, co skutkuje mniejszym zużyciem pamięci RAM podczas uruchamiania APK.
W JAKI SPOSÓB TO DOKŁADNIE DZIAŁA?
W środowisku operacyjnym Android pliki danychprzechowywane w każdym pakiecie aplikacji są dostępne dla wielu procesów, na przykład instalator odczyta manifest danych w celu ustalenia powiązanych uprawnień; serwer systemowy może odczytać te zasoby z wielu powodów, takich jak wyświetlanie powiadomień; na przykład aplikacja domowa odczyta zasoby, aby uzyskać nazwę i ikonę aplikacji. Ponieważ Android jest oparty na prawdziwej wielozadaniowej infrastrukturze operacyjnej, pliki te są stale i wielokrotnie dostępne. Wreszcie, sama aplikacja odczytuje dane manifestu.
Ponieważ Android jest oparty na systemie Linux, mapowanie pamięci odgrywa rolękluczowa rola w sprawnej obsłudze procesów. Zasadniczo optymalne dopasowanie kodu obsługi zasobów w systemie operacyjnym Android wynosi 4-bajtowe granice. Oznacza to, że jeśli pliki APK zostaną zmapowane do 4-bajtowych granic i odpowiednio dostosowane, system operacyjny nie będzie musiał „czytać” całego pakietu aplikacji, aby dostać się do żądanego manifestu danych. Każdy proces systemowy z góry będzie wiedział, gdzie szukać pożądanych zasobów, dzięki czemu będzie działał znacznie płynniej i szybciej.
Podsumowując, zipaligning APK daje wszystkonieskompresowane dane w pakiecie mają zostać wyrównane do 4-bajtowych granic, umożliwiając bezpośredni dostęp do wszystkich części za pomocą mapy pamięci. Zużycie pamięci RAM jest zmniejszone podczas wykonywania, ponieważ kod zapytania nie musi czytać całego pakietu aplikacji.
WADY NIEZGODNYCH APKÓW
Zrozumiałe, że sytuacja byłaby zastrzeżonadla niewyrównanych pakietów aplikacji. Odczytywanie zasobów byłoby powolne, a użycie pamięci na wyższym końcu spektrum. Zależy to również od liczby niezapasowanych aplikacji. Na przykład, jeśli mniejsza liczba aplikacji z niewyrównaną aplikacją domową, zobaczysz wolniejsze czasy uruchamiania aplikacji. To najlepszy scenariusz. W najgorszym przypadku posiadanie szeregu nieprzystosowanych aplikacji spowoduje, że system będzie wielokrotnie uruchamiał i zabijał procesy, zmagając się z opóźnieniami i ogromnym zużyciem baterii.
JAK TO ROBISZ?
Jak wspomniano wcześniej, narzędzie zipalign stało się częścią zestawu Android SDK od wersji 1.6. Można go znaleźć w folderze „narzędzia” pakietu SDK. Aby go użyć, po prostu uruchom polecenie:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
gdzie infile.apk to plik źródłowy, a outfile.apk jest plikiem wyjściowym.
Ponadto można również sprawdzić wyrównanie pliku APK za pomocą następującego polecenia:
zipalign -c -v <alignment> existing.apk
gdzie existing.apk może być dowolny pakiet aplikacji, który musisz zweryfikować. Ponadto, <wyrównanie> Tag w obu poleceniach musi być całkąwartość (w przeciwnym razie polecenie zwróci nieprawidłowe). Ta wartość, chociaż może być dowolną liczbą całkowitą, MUSI zawsze wynosić 4, co zapewni wyrównanie 32-bitowe. Każda inna wartość i to skutecznie nic nie da.
Wreszcie w przypadku flag używanych w tych poleceniach
- -fa : zastępuje istniejący plik outfile.zip
- -v : da pełne wyjście
- -do : potwierdzi wyrównanie danego pliku
SŁOWO UWAGA: Operacja zipalign może być wykonana tylko po podpisałeś plik APK swoim prywatnymklawisz. Jeśli przed podpisaniem zostanie skompresowany, procedura podpisywania zakłóci wyrównanie. To samo dotyczy każdej innej zmiany, dodania lub usunięcia pliku APK. Każda zmiana po uruchomieniu zipalign spowoduje cofnięcie wyrównania.
Zrzeczenie się: Ten przewodnik jest przeznaczony wyłącznie do celów edukacyjnych. W żaden sposób nie zastępuje to zestawu narzędzi dla programistów Androida ani nie jest przeznaczone do użytku w celach programistycznych. AddictiveTips nie zapewnia żadnego wsparcia w odniesieniu do prezentowanych tu materiałów.
Komentarze