2010-10-19 15 views
6

Sto sviluppando un'applicazione web mobile e ho una schermata principale con un numero di icone, quindi ho provato a usare uno sprite per servire tutte le immagini in una piombare.Il ridimensionamento del browser Web Android funziona in modo più efficace rispetto alle immagini Sprites

Ho notato, tuttavia, che l'iphone4 ha ridimensionato le immagini nel mio sprite abbastanza bene (sembravano un po 'torbido), ma sul mio HTC Evo le immagini rese da sprite sembravano davvero bloccate. Sono passato alle immagini standard (background: (/ image_url /) w/o background-position) e l'immagine sembrava molto migliore - vedi questo screen shot, dove l'immagine a sinistra è servita usando l'immagine singola, e quelli a destra di esso sono forniti dallo sprite (ma sono le stesse immagini nello sprite).

C'è un modo per far sì che il browser Android interpreti meglio gli sprite?

risposta

2

Stai colpendo la massima barriera di dimensioni dell'immagine decodificata nel browser Android. Questo limite di dimensioni è stato aumentato a qualcosa di ragionevole in 2.3. Prova a dividere gli sprite in immagini più piccole.

+0

Interessante, sai qual è la dimensione massima in Froyo? Questo non dipende dal dispositivo, vero? – Simon

+0

Ho scavato qui il codice sorgente pertinente: http://www.sephidev.net/external/webkit/WebCore/platform/graphics/android/ImageSourceAndroid.cpp. Il limite di dimensione è 8 * 1024 * 1024 byte (circa 8 M) su "dispositivi di memoria di grandi dimensioni" (> 256 M) e 2 * 1024 * 1024 byte (circa 2 M) su "dispositivi a bassa memoria". Si noti che questa è la ** dimensione ** decompressa, che può essere approssimata salvando le immagini di origine come bitmap e controllando la dimensione dei file. – tad

+0

@tad Grazie ancora per il tuo commento di followup con il puntatore al file src webkit in cui viene utilizzata la macro c - mi ha salvato un sacco di tempo cercando in giro cercando di risolverlo. – Maks

0

Questa è solo un'ipotesi, ma quale stai usando? Il tuo operatore o connessione wifi? Alcuni operatori comprimono le immagini su determinate dimensioni.

+0

Questa è una buona ipotesi, ma stavo usando la mia connessione wifi per tirare giù le immagini. – Simon

Problemi correlati