Was bedeutet "Zipalign" und welche Bedeutung hat es?
Wenn ein ROM angibt, "zipaligniert" zu sein, was bedeutet das und was ist der Unterschied zu einem ROM, das nicht "zipaligniert" ist?
quelle
Was bedeutet "Zipalign" und welche Bedeutung hat es?
Wenn ein ROM angibt, "zipaligniert" zu sein, was bedeutet das und was ist der Unterschied zu einem ROM, das nicht "zipaligniert" ist?
Dieser Mechanismus wird auf der Android-Entwicklerseite wie folgt beschrieben:
zipalign ist ein Tool zum Ausrichten von Archiven, mit dem Android-Anwendungsdateien (.apk) optimiert werden können. Damit soll sichergestellt werden, dass alle nicht komprimierten Daten mit einer bestimmten Ausrichtung relativ zum Dateianfang beginnen. Insbesondere werden alle nicht komprimierten Daten in der APK-Datei, z. B. Bilder oder RAW-Dateien, an 4-Byte-Grenzen ausgerichtet. Auf diese Weise kann mit mmap () direkt auf alle Teile zugegriffen werden, auch wenn sie Binärdaten mit Ausrichtungseinschränkungen enthalten. Der Vorteil ist eine Reduzierung des RAM-Aufwands beim Ausführen der Anwendung.
Kurz gesagt: Der .apk
Zugriff auf Inhalte kann aufgrund der Reihenfolge der Daten in der gepackten Datei einfacher / schneller / optimaler sein.
Weitere Informationen finden Sie in der "vollständigen Anleitung" unter AddictiveTips: Was ist Zipalign in Android und wie werden Apps Zipaligned erstellt? Hier finden Sie die Antwort auf den zweiten Teil Ihrer Frage:
Verständlicherweise wäre die Situation nicht ausgerichteten Anwendungspaketen vorbehalten. Das Lesen von Ressourcen wäre langsam und die Speichernutzung würde am oberen Ende des Spektrums liegen. Es würde auch davon abhängen, wie viele nicht ausgerichtete Anwendungen vorhanden sind. Wenn beispielsweise weniger Anwendungen mit einer nicht ausgerichteten Basisanwendung vorhanden sind, werden langsamere Anwendungsstartzeiten angezeigt. Dies ist das beste Szenario. Im schlimmsten Fall führt eine Reihe nicht ausgerichteter Anwendungen dazu, dass das System wiederholt Prozesse startet und beendet und mit Verzögerungen und einem enormen Batterieverbrauch kämpft.
struct x { uint16_t id; uint32_t data[100]; };
. Verwendungstruct x { uint16_t id; uint16_t padding; uint32_t data[100]; };
Wie genau funktioniert Zipalign?
Quelle
quelle