Autore Topic: Gestione di molte Bitmap  (Letto 627 volte)

Offline mattsca

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
Gestione di molte Bitmap
« il: 31 Marzo 2013, 15:09:26 CEST »
0
Salve ho progettato un'app con molte bitmap da visualizzare che, per problemi di progetto, devono essere a quella grandezza (non posso scalarle). Io le scarico solo quando è necessario, cioè solo quando l'utente cerca di visualizzarle, vengono salvate su un DB (associate ad altre informazioni) e poi visualizzate. Il problema è il classico OutOfMemoryException ovviamente. Ho guardato in giro ma le soluzioni o sono scalarle (non possibile) o metterle nella cache ma (sicuramente per mia non conoscenza profonda dello heap di android) non capisco come cacheare le immagini possa aiutarmi a risolvere il problema. Secondo me la cosa più giusta sarebbe perdere la reference alla bitmap quando cambio Activity e cioè quando l'ImageView non è più visibile o sbaglio?! Qualunque suggerimento alternativo è preso come oro colato per me  ;-)

Grazie

Offline s1m0

  • Utente junior
  • **
  • Post: 122
  • Respect: +14
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Android 4.1.2
Re:Gestione di molte Bitmap
« Risposta #1 il: 04 Aprile 2013, 09:49:12 CEST »
0
Un click sul pulsante "Thanks" è sempre gradito :-)

Offline tonnuns

  • Utente junior
  • **
  • Post: 81
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows
Re:Gestione di molte Bitmap
« Risposta #2 il: 07 Giugno 2013, 11:09:37 CEST »
0
Ciao mattsca, a me invece interesserebbe come hai fatto il sistema che le carichi solo quando l'utente cerca di visualizzarle e anche come fai a metterle sul DB, che DB usi?
Grazie

Offline mattsca

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
Re:Gestione di molte Bitmap
« Risposta #3 il: 07 Giugno 2013, 11:45:35 CEST »
0
Ciao tonnuns, guarda il topic è vecchiotto e l'app è stata ridisegnata. Comunque in linea di principio utilizzo il metodo della LazyList (cerca su Google e trovi il codice) e ho preso solo le classi che gestiscono il salvataggio e la rimozione dalla cache delle immagini. Ho incapsulato tutto in una classe (ProxyImageView) che non è altro che una ImageView con una ProgressBar che sparisce quando e se viene caricata un immagine. Grazie a questo metodo non utilizzo più il salvataggio in DB che, comunque, avveniva convertendo l'image in un array di byte e e poi caricarlo in un'apposita colonna del DB sempre di tipo Byte[] (cerca su Google il metodo per convertire ImageToArrayByte).

Offline tonnuns

  • Utente junior
  • **
  • Post: 81
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows
Re:Gestione di molte Bitmap
« Risposta #4 il: 07 Giugno 2013, 18:39:22 CEST »
0
Perfetto grazie!
Con le informazioni che hai dato penso di potermela cavare da solo