Domanda

Per l'applicazione Attualmente sto lavorando, ho creato qualcosa di simile ImageSwitcher per immagini multiple (immaginare UIScrollView di iPhone con paginazione abilitato).

In un primo momento, ho duro codificati alcuni ImageViews e caricato le loro risorse disegnabili sulla creazione / inflazione, ma dopo alcune modifiche (e quello che pensavo fossero miglioramenti), ho ridotto i punti di vista necessari a 3, di cui 2 ImageViews utilizzato per la visualizzazione della pagina corrente e l'animazione fra le pagine corrente e nuovo.

Con questa modifica, ho cominciato a usare setImageResource / setImageDrawable per il carico dinamico della nuova immagine nella mia 2 ImageViews prima di scivolare attraverso le pagine (sto usando i file PNG, dimensionati per i display HVGA).

Per la mia delusione, la performance ha ottenuto peggio, fino al punto di sentirsi un po 'di ritardo quando si fa scorrere più velocemente attraverso le pagine. Una rapida occhiata in TraceView ha rivelato che il 17,4% del tempo totale, mentre si utilizza l'applicazione, oltre 5 volte più che il prossimo metodo di pesante, è stato consumato da BitmapFactory.nativeDecodeAsset, chiamato dalla mia impostazione dinamica della risorsa drawable.

Sto pensando di modi per aggirare questo, e voglio farlo nel miglior modo possibile, in modo da tutti i suggerimenti sono i benvenuti.

È stato utile?

Soluzione

In quale formato avete le immagini?

Android funziona in modo nativo con le immagini RGB565, quindi se è possibile convertire le immagini in questo formato, la decodifica sarà molto più veloce.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top