Perché usare biblioteca Android Picasso per scaricare le immagini ?

? user3376321 @ | Original: StackOverFlow
---

Perché dovrei scaricare le immagini tramite la biblioteca Picasso invece di utilizzare questo codice :

private Bitmap DownloadImage(String URL) 
{
    Bitmap bitmap = null; 
    InputStream in = null; 

    try 
    {
        in = OpenHttpGETConnection(URL);
        bitmap = BitmapFactory.decodeStream(in); in.close();
    } 
    catch (Exception e) 
    {
        Log.d("DownloadImage", e.getLocalizedMessage());
    }

    return bitmap; 
}

Un'altra domanda :

Ha Picasso scaricare l' immagine nell'interfaccia utente o thread in background ?

---

Top 5 Risposta

1Sarpe @

Picasso scaricare l' immagine in un altro thread e gestisce per voi :

the placeholder in the meantime the image is still downloading resizing cropping/centering/scaling caching ( you don't have to download the image every time) it even does "image fade in", which is popular/normal now

E ' estremamente semplice, ecco un esempio :

    Picasso.with(context)
           .load(url)
           .placeholder(R.drawable.placeholder)
           .resize(imgWidth, imgHeight)
           .centerCrop()
           .into(image);
2Joe Blow @

Solo per la cronaca per chiunque sia nuovo Android o forse lo spostamento ad Android da iOS ..........

You absolutely have to use Picasso. Not a joke.

Onestamente, è così semplice . I vantaggi sono incredibili .

E ' così facile da usare :

Picasso.
  with(State.mainContext).
  load(parseImageFile.getUrl()).
  into(null);

È molto semplice :

must do caching, and threading, with image handling on Android.

E ' così semplice . A meno che non si desidera scrivere che da zero, si deve semplicemente utilizzare Picasso .

Si noti che ParseImageFile essenzialmente non funziona - è assolutamente inutile sulla cache e così via . Ci sono alternative ammirevoli a Picasso ( come Universal Loader Immagine, il check-out ), ma nessuno di lavoro così come Picasso, per ora 2014.

Nota se si sposta a super- avanzate per gli animali ... L' unica cosa migliore di Picasso, è quello di rendere il passaggio a Volley . ma questo è un salto enorme .

Si noti che ListView scorrimento su Android è molto, molto più problematico di gestione tavolo scorrimento su iOS . Si potrebbe dire, Android + Picasso è più come la situazione su iOS, dove tutto il lavoro è già fatto per scorrere grandi viste tabella con le immagini .

Per oggi, Picasso è - semplicemente - una parte centrale di un app Android di sorta . Grazie al cielo, è una riga di codice - alcuna configurazione, niente .

Anche in questo caso, l'unica cosa " migliore di" Picasso è se ci si sposta a Volley .

BTW ecco un eccellente articolo sul lungo Volley v . Picasso, se avete bisogno che ...

http://www.bignerdranch.com/blog/solving-the-android-image-loading-problem-volley-vs-picasso/

3BladeCoder @

Si consiglia di utilizzare una libreria di immagini loader come Picasso, Volley o Universal Loader Immagine perché fanno le seguenti cose che il codice non fa :

Efficient multithreaded networking (on background threads of course) Combining multiple identical requests into a single network call Canceling pending requests, especially during ListView items recycling Disk and memory caching with various expiration policies Images downsampling to the target view size to improve performance and reduce memory usage Batching UI updates to improve UI responsiveness (at least for Volley and Picasso).

Tra l'altro, non bisogna mai effettuare richieste di rete sul thread UI e dal HoneyComb, Android non consente di farlo .