2010-07-25 5 views
6

J'ai une application qui utilise beaucoup de .png fils, donc pour réduire la taille de l'application, j'ai utilisé PngOptimizer pour les optimiser. J'étais heureux avec les résultats et la taille de fichier des png est allée d'un peu plus de 1mb à 300kb ou plus. mais pour une raison quelconque, la taille de l'application a seulement baissé d'environ 100ko. Est-ce que quelqu'un sait pourquoi? Je voudrais vraiment la réduction de la taille du fichier que j'ai vu dans mes fichiers png à reporter à la taille de mon application. Aidez-nousandroid optimisation png

Répondre

8

Vos fichiers d'application .APK sont déjà compressés à l'aide de l'algorithme deflate. C'est le même algorithme utilisé par les fichiers PNG. Par conséquent, l'optimisation que vous avez effectuée avec PngOptimizer a déjà été réalisée dans une certaine mesure par le packer .APK.

Si vous voulez réduire la taille de votre application, vous devez soit réduire la profondeur de couleur de vos fichiers PNG (cela aide beaucoup) ou passer aux fichiers .JPG lorsque cela est possible. Ceux-ci pourraient - en fonction de ce que l'image contient - être plus petits.

+0

merci, je vais essayer que – John

+0

@John: Pour réduire la profondeur de couleur, essayez [pngquant] (http://pngquant.org). Il préservera le canal alpha. – Kornel

5

Les fichiers PNG dans res/drawable sont automatiquement compressés en utilisant une palette si possible.

De http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables:

Note: les ressources d'image placés dans res/drawable/peuvent être optimisés automatiquement avec une compression sans perte d'images par l'outil AAPT au cours du processus de construction. Par exemple, un fichier PNG en couleurs réelles ne nécessitant pas plus de 256 couleurs peut être converti en un fichier PNG 8 bits avec une palette de couleurs. Cela se traduira par une image de qualité égale, mais qui nécessite moins de mémoire.