2010-03-29 1 views
5

Ich war neugierig auf alle Optimierungen, die in den Aufbau einer .apk gehen. Ich bin gespannt, weil zwei Dinge, die ich in der Vergangenheit versucht haben, die Größe meiner APK zu Fall zu bringen:Gibt es eine detaillierte Beschreibung der Optimierungen im Android Build-Prozess?

  1. ich vor ein paar große json Vermögenswerte in Projekten gehabt haben, sowie eine statische sqlite Datenbank. Ich habe versucht, die Größe der apk herunterzurücken, indem ich sie vor dem Build-Prozess gezippt habe, aber die resultierende Größe ist genau die gleiche.

  2. Ich habe gerade heute pngcrush auf meinem/Drawable/Ordner versucht. Der resultierende Build hatte genau die gleiche Größe wie zuvor.

Ich würde denken, dass vielleicht 1 # durch den Zip-Prozess erklärt werden könnte, sondern einfach die/ziehbar/Ordner in # 2 Ergebnis in unterschiedlich großen Dateien zu zippen. Vielleicht läuft der Build-Prozess etwas wie PNGcrush?

Egal, ich fragte mich, ob jemand wusste, wo eine detaillierte Beschreibung aller Optimierungen im Android-Build-Prozess zu finden. Ich möchte nicht meine Zeit damit verschwenden, zu optimieren, was bereits automatisiert ist, und ich denke auch, dass es mir helfen würde, die resultierende Apk zu verstehen. Weiß jemand, ob das irgendwo dokumentiert ist?

Antwort

1

Diese beiden sind leicht "dokumentierte" Optimierungen.

http://developer.android.com/guide/developing/tools/aapt.html "... Zip-kompatible Archive (... apk) ..." obwohl ich nicht sicher bin, dass es verwendet 'maxmimum' Kompression ...

http://developer.android.com/guide/topics/resources/resources-i18n.html#CreatingResources „Hinweis: Bildressourcen, die hier platziert werden, können automatisch mit verlustfreier Bildkomprimierung durch das aapt-Tool optimiert werden.Zum Beispiel kann ein Echtfarben-PNG, das nicht mehr als 256 Farben erfordert, in ein 8-Bit-PNG mit einer Farbpalette "

" umgewandelt werden

und von der aapt-Befehlszeile "eine Pixeltoleranz angeben, um Bilder in Graustufen zu zwingen"

wie zu anderen opts ... ummm.

0

Eine Sache, die hilft, wenn Sie PNG-Bilder verwenden, ist indizierte PNG (Gimp kann es leicht konvertieren). Indizierte PNG-Dateien sind ungefähr ein Drittel der Größe der "normalen" PNGs. Wenn Sie viele Bilder haben, dann hilft es wirklich, die Paketgröße zu reduzieren.

+0

Die Sache ist, pngcrush reduziert die Größe meiner Dateien drastisch (~ 70% Reduktion), aber die resultierende APK hatte die gleiche Größe. –

+4

aapt führt bereits png-Optimierungen durch. Wir haben versucht, dem Prozess pngcrush hinzuzufügen, aber es war nicht zuverlässig genug und brach einige unserer Vermögenswerte. –

Verwandte Themen