2010-03-29 6 views
5

Sono stato curioso di conoscere tutte le ottimizzazioni necessarie per la creazione di un APK. Sono curioso a causa di due cose che ho provato in passato per abbattere le dimensioni del mio .apk:Esiste una descrizione dettagliata delle ottimizzazioni nel processo di generazione di Android?

  1. ho avuto un paio di asset JSON grandi in progetti di prima, così come uno sqlite statica Banca dati. Ho provato a ridurre la dimensione dell'apk effettuando un gip prima del processo di creazione, ma la dimensione risultante è esattamente la stessa.

  2. Ho appena provato pngcrush nelle cartelle/drawable /. La build risultante aveva esattamente le stesse dimensioni di prima.

Vorrei pensare che forse # 1 potrebbe essere spiegato dal processo di zip, ma semplicemente zippare i/disegnabili/cartelle in # 2 risultato in file di dimensioni diverse. Forse il processo di costruzione ha qualcosa di simile al pngcrush?

Indipendentemente da ciò, mi chiedevo se qualcuno sapeva dove trovare una descrizione dettagliata di tutte le ottimizzazioni nel processo di build di Android. Non voglio sprecare il mio tempo cercando di ottimizzare ciò che è già automatizzato, e inoltre penso che mi aiuterebbe a capire l'apk risultante. Qualcuno sa se questo è documentato da qualche parte?

risposta

1

queste due ottimizzazioni leggermente "documentate".

http://developer.android.com/guide/developing/tools/aapt.html "... gli archivi compatibili con zip (... apk) ..." anche se io non sono sicuro che usa 'maxmimum' di compressione ...

http://developer.android.com/guide/topics/resources/resources-i18n.html#CreatingResources "Nota: Le risorse di immagine collocate qui possono essere automaticamente ottimizzate con la compressione delle immagini senza perdita da parte dello strumento aapt.Ad esempio, un PNG a colori reali che non richiede più di 256 colori può essere convertito in un PNG a 8 bit con una tavolozza di colori "

e dalla riga di comando aapt "specificare una tolleranza pixel per forzare le immagini in scala di grigi"

come per le altre opzioni ... ummm.

0

Una cosa che può essere d'aiuto quando si usano immagini PNG è l'uso di PNG indicizzati (il gimp può convertirlo facilmente). I file PNG indicizzati sono circa un terzo della dimensione dei PNG "normali". Se hai molte immagini, aiuta davvero a ridurre le dimensioni del pacchetto.

+0

Il problema è che pngcrush ha ridotto drasticamente la dimensione dei miei file (~ riduzione del 70%) ma l'APK risultante aveva le stesse dimensioni. –

+4

aapt già esegue ottimizzazioni png. Abbiamo provato ad aggiungere pngcrush al processo, ma non era abbastanza affidabile e stava rompendo alcune delle nostre risorse. –

Problemi correlati