2010-03-29 9 views
5

He tenido curiosidad en cuanto a todas las optimizaciones que entran en la construcción de un .apk. Tengo curiosidad debido a dos cosas que he intentado en el pasado por reducir el tamaño de mi apk:¿Hay una descripción detallada de las optimizaciones en el proceso de compilación de Android?

  1. he tenido unos activos JSON grandes en los proyectos antes, así como SQLite estática base de datos. Traté de bajar el tamaño de la aplicación gzip antes del proceso de compilación, pero el tamaño resultante es exactamente el mismo.

  2. Hoy he intentado pngcrush en mi/dibujables/carpetas. La compilación resultante era exactamente del mismo tamaño que antes.

Me gustaría pensar que tal vez # 1 podría explicarse por el proceso postal, sino simplemente comprimir el dibujable/carpetas/# 2 en consecuencia en diferentes tamaños de archivos. Tal vez el proceso de compilación ejecuta algo parecido a pngcrush?

Sin embargo, me preguntaba si alguien sabía dónde encontrar una descripción detallada de todas las optimizaciones en el proceso de compilación de Android. No quiero perder el tiempo tratando de optimizar lo que ya está automatizado, y también creo que ayudaría a mi comprensión de la apk resultante. ¿Alguien sabe si esto está documentado en alguna parte?

Respuesta

1

estas dos son optimizaciones ligeramente 'documentadas'.

http://developer.android.com/guide/developing/tools/aapt.html "... archivos compatible con ZIP (... apk) ..." aunque no estoy seguro de que utiliza 'maxmimum' de compresión ...

http://developer.android.com/guide/topics/resources/resources-i18n.html#CreatingResources "Nota: Los recursos de imagen colocados aquí pueden optimizarse automáticamente con compresión de imagen sin pérdida mediante la herramienta aapt. Por ejemplo, un PNG de color verdadero que no requiere más de 256 colores se puede convertir a PNG de 8 bits con una paleta de colores "

y desde la línea de comando aapt "especifique una tolerancia de píxeles para forzar imágenes a escala de grises"

como a otras opciones ... ummm.

0

Una cosa que ayudará cuando use imágenes PNG es usar PNG indexado (gimp puede convertirlo fácilmente). Los archivos PNG indexados tienen aproximadamente un tercio del tamaño de los PNG "normales". Si tiene muchas imágenes, realmente ayuda a reducir el tamaño del paquete.

+0

El problema es que pngcrush redujo drásticamente el tamaño de mis archivos (~ 70% de reducción) pero el APK resultante era del mismo tamaño. –

+4

aapt ya realiza optimizaciones png. Tratamos de agregar pngcrush al proceso, pero no era lo suficientemente confiable y estaba rompiendo algunos de nuestros activos. –

Cuestiones relacionadas