Migliorare l'efficienza di ListView quando carichi le immagini da SD in ListView

Sto utilizzando un adattatore personalizzato per il mio ListView come per il campione adattatore efficiente di Romain Guy.

Nel metodo getView () della mia scheda assegna un ImageView un'image jpg memorizzata in SD utilizzando il seguente codice:

  • Come utilizzare il GWT-RequestFactory in Android SyncAdapter (sempre sempre ValidationTool-Error)
  • Posizione fissa non funzionante nel browser mobile
  • Includi la libreria Boost C ++ in android
  • Android: Invia e-mail con allegato automaticamente in background
  • Android, Rileva quando vengono avviate altre applicazioni
  • Cancellazione e impostazione dell'applicazione home di default
  • File f=new File(MovieThumbs.get(position)); if(f.length() > 0) { holder.thumb.setImageBitmap(BitmapFactory.decodeFile(MovieThumbs.get(position))); } 

    Quando fai clic su un elenco di circa 200 elementi utilizzando questo metodo, l'applicazione soffre di ctriggers balbuzie mentre cerca di trattare le immagini.

    C'è una soluzione più efficiente per questo?

  • come sapere in modo programmato se un motore TTS installato nel mio dispositivo o no?
  • Imansible ignorare onCreateOptionsMenu in ListFragment
  • Android - implementare startForeground per un servizio?
  • appendere al file android
  • Che bindView () e newView () fanno in CursorAdapter
  • Errore durante l'installazione di HAXM, VT-X non funziona
  • 2 Solutions collect form web for “Migliorare l'efficienza di ListView quando carichi le immagini da SD in ListView”

    Le immagini devono essere elaborate in un thread di background. Occorre tener conto delle viste riciclate. Cerco di affrontare tutte queste questioni nel mio codice di esempio, ora funziona bene, puoi dare un'occhiata Carico pigro di immagini in ListView

    Invece di caricare le immagini dall'adattatore di elenco su richiesta su come avviare il lancio di un thread dal onCreate della tua attività per caricare le immagini? Quando each image viene caricata, puoi triggersre una richiamata all'attività per visualizzare l'image nell'elenco. Il metodo di richiamata sarebbe qualcosa lungo le linee di:

     void onImageDownloadComplete(int pos, BitMap bm) { ListView lv = getListView(); View listItem = lv.getChildAt(pos); ImageView img = (ImageView)listItem.getChildAt(indexOfIcon); img.setImageBitmap(bm); } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.