2010-07-25 14 views
6

Ho un'app che utilizza un sacco di file .png, quindi per ridurre le dimensioni dell'app ho usato PngOptimizer per ottimizzarli. Sono stato contento dei risultati e la dimensione del file del png è passata da un po 'più di 1mb a 300kb circa. ma per qualche ragione la dimensione dell'app è diminuita di circa 100kb. qualcuno sa perché? Mi piacerebbe molto la riduzione della dimensione del file che ho visto nei miei file PNG da riportare alle dimensioni della mia app. per favore aiutoottimizzazione android png

risposta

8

I tuoi file di applicazione .APK sono già compressi usando l'algoritmo di deflate. Questo è lo stesso algoritmo usato dai file PNG.

Quindi l'ottimizzazione che hai fatto con PngOptimizer è già stata fatta in parte dal .APK packer.

Se si desidera ridurre le dimensioni dell'applicazione, è necessario ridurre la profondità del colore dei file PNG (ciò aiuta molto) o passare ai file .JPG laddove possibile. Questi potrebbero - a seconda di ciò che contiene l'immagine - essere più piccoli.

+0

grazie, proverò quello – John

+0

@John: per ridurre la profondità del colore, provare [pngquant] (http://pngquant.org). Conserverà il canale alfa. – Kornel

5

I file PNG in res/drawable vengono compressi automaticamente utilizzando una tavolozza, se possibile.

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

Nota: risorse immagine inserita in res/drawable/possono essere ottimizzate automaticamente con compressione delle immagini senza perdita di dati dallo strumento aapt durante il processo di compilazione. 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. Ciò si tradurrà in un'immagine di uguale qualità ma che richiede meno memoria.