Autore Topic: troppe immagini, out of memory... come risolvere?  (Letto 786 volte)

Offline giannironco

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Iconia Tab A500 e Samsung Galaxy Duo
  • Sistema operativo:
    Windows 7
troppe immagini, out of memory... come risolvere?
« il: 17 Maggio 2013, 08:37:35 CEST »
0
Buongiorno :)
la mia piu che una richiesta di programmazione è piu di come strutturare la GUI....

Sto realizzando un'applicazione (con l'ADT ed Eclipse) che deve sfogliare un catalogo di prodotti con foto (400px x 400px) per ogni prodotto, codice prodotto, descrizione, prezzo ecc.
Ho circa 4000 prodotti, divisi in categorie (circa 250 prodotti per categoria).

Ho fatto una GridView che "contiene" delle View di mie creazione... ridefinite in un xml layout a parte... ma il succo del discorso è che se visualizzo TROPPE immagini nella gridView (per l'appunto 250 elementi), mi va in crash per Out Of Memory sia l'emulatore che il mio tablet (acer iconia tab A500 con Android 4.03).

In pratica nella GridView ci va tutto... ma quando sfoglio col dito va sempre piu a scatti... finchè neanche arrivato al 20esimo elemento crasha.
Ho letto in giro che dovrebbe "essere normale". Troppa occupazione di memoria con tutte quelle Bitmap...

Come strutturereste voi la GUI (che avete piu esperienza di me) di un'applicazione che deve visualizzare in una lista 250 immagini? Faccio le pagine come sui siti di ecommerce? O qualche altro trucco?

ringrazio :)


Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:troppe immagini, out of memory... come risolvere?
« Risposta #1 il: 17 Maggio 2013, 09:12:10 CEST »
0
La gui va bene così :) devi solo usare il lazy loading delle immagini :) cerca su google :) è pieno di librerie :)
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.

Offline giannironco

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Iconia Tab A500 e Samsung Galaxy Duo
  • Sistema operativo:
    Windows 7
Re:troppe immagini, out of memory... come risolvere?
« Risposta #2 il: 17 Maggio 2013, 15:47:00 CEST »
0
Yeah!!! Grazie mille :) Mi hai fatto capire e mi hai dato idee e spunti per risolvere  8-)

Ho visto molte librerie ma mi sembrano cose enormi per quel poco che voglio fare. Ho risolto mettendo in un array globale i riferimenti alle Bitmap che carico... e poi man mano che si richiama la getView del mio adapter svuoto i primi elementi dalla memoria (usando Bitmap.recycle())

In pratica tengo solo le ultime 6 o 7 bitmap (perchè la mia grid visualizza piu o meno 6 elementi alla volta).

Ora non crasha piu neanche se ho gridView di 4000 elementi