Sto sviluppando un'applicazione con molte immagini su cui la dimensione della mia app è diventata molto grande. Voglio comprimere o qualcosa del genere per ridurre la dimensione dell'app. Qualche idea?Dimensioni dell'app grandi a causa delle immagini. Come comprimere le immagini .PNG?
risposta
.png
lime che sono collocati nel res/drawable
sono automatically optimized durante la compilazione la vostra applicazione:
file bitmap possono essere ottimizzate automaticamente senza perdita di dati con la compressione 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. Quindi, tieni presente che i file binari dell'immagine posizionati in questa directory possono cambiare durante la build . Se hai intenzione di leggere un'immagine come flusso di bit per convertirla in una bitmap con lo , inserisci le immagini nella cartella res/raw/ , dove non saranno ottimizzate.
Detto questo, hai altre opzioni da provare. C'è un buon discorso su questo argomento di Google I/O 2016 chiamato "Image Compression for Android Developers", che delinea le possibilità, spiega i loro aspetti positivi e negativi e fornisce alcune buone pratiche generali.
Se la dimensione della vostra applicazione è troppo alta da pubblicare sul mercato, si può sia
- nave vostra applicazione senza le immagini e caricarle da Internet ai telefoni SD -card quando l'app è avviata
- Utilizzare Androids proprio APK Extension Files, che è praticamente lo stesso ma non devi fare tutto da solo.
Utilizzi 9 patch per gli sfondi? Inoltre puoi usare imagemagick o qualcosa di simile per comprimere un batch o immagini.
Utilizzare pngquant o posterizer per ridurre le dimensioni delle immagini PNG (questi strumenti sono in perdita, ma consentono risparmi significativi).
È inoltre possibile ottimizzarli con PNGOUT, che è uno dei migliori ottimizzatori senza perdita di dati.
Ho scritto Mac GUI per quelli.
pngquant Very Gooooood.thx – mghhgm
@Kornel does pngquant funziona ancora? appena provato con la GUI Pngyu e le immagini non vengono visualizzate sul mio telefono, solo in emulatore. –
@ MrCharli3 Sì. Per il supporto Android (preservando i blocchi personalizzati) assicurati di aver compilato pngquant con libpng 1.6 o più recente ('pngquant -h'). Non mantengo il pngyu. Le build ufficiali di OS X sono decisamente OK. – Kornel
- Provare e utilizzare ".png".
- Utilizzare immagini a 9 patch per sfondi.
- Se si dispone di barre del titolo, le intestazioni con gradienti verticali utilizzano sempre immagini con gradiente di larghezza di 1 pixel. Questo è un super risparmiatore.
- Se riesci a impossessarti di Photoshop, hanno la possibilità di salvare le immagini per dispositivi web/mobili. Aiuta a realizzare immagini di dimensioni veramente ridotte con una buona qualità.
- Se si supportano più dispositivi, mantenere diverse versioni delle immagini solo per quelle realmente necessarie.
Utilizzare sempre immagini PNG (.png). E comprimere online di caricare le immagini
semplice e sobrio, lavorare sempre. Prego. :)
C'è anche un modo migliore di usare AndEngine, che ti evita di creare layout per ogni telefono. E non è necessario utilizzare immagini diverse per diversi telefoni dpi.
Sto usando immagini .png nel mio progetto. Ho visto imagemagick sul web ma non sono riuscito a trovare il comando per ridurre la dimensione della memoria dell'immagine. Puoi aiutarmi a scoprirlo? –
devi ricomprimere l'immagine usando una qualità inferiore – njzk2