2011-10-27 1 views

risposta

9

.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.
2

Utilizzi 9 patch per gli sfondi? Inoltre puoi usare imagemagick o qualcosa di simile per comprimere un batch o immagini.

+0

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? –

+0

devi ricomprimere l'immagine usando una qualità inferiore – njzk2

5

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.

+0

pngquant Very Gooooood.thx – mghhgm

+0

@Kornel does pngquant funziona ancora? appena provato con la GUI Pngyu e le immagini non vengono visualizzate sul mio telefono, solo in emulatore. –

+0

@ 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

2
  1. Provare e utilizzare ".png".
  2. Utilizzare immagini a 9 patch per sfondi.
  3. 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.
  4. 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à.
  5. Se si supportano più dispositivi, mantenere diverse versioni delle immagini solo per quelle realmente necessarie.
3

Utilizzare sempre immagini PNG (.png). E comprimere online di caricare le immagini

https://tinypng.com/

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.