Por que usar a biblioteca Android Picasso para baixar imagens ?

? user3376321 @ | Original: StackOverFlow
---

Por que eu deveria baixar as imagens através da biblioteca Picasso em vez de apenas usando este código:

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; 
}

Outra pergunta:

Será que Picasso baixar a imagem na interface do usuário ou por linha de fundo?

---

Top 5 Responder

1Sarpe @

Picasso baixar a imagem em outro segmento e administra para você :

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

É extremamente simples, aqui está um exemplo :

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

Apenas para o registro para alguém novo para Android ou talvez de se mudar para o Android a partir iOS ..........

You absolutely have to use Picasso. Not a joke.

Honestamente, é tão simples. As vantagens são inacreditáveis.

É tão fácil de usar:

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

Você muito simples:

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

É simples assim . A menos que você queira escrever que a partir do zero, você simplesmente deve usar Picasso.

Note-se que ParseImageFile essencialmente não funciona - é totalmente inútil sobre cache e assim por diante . Existem alternativas admirável Picasso (como Universal Image Loader, check-out), mas nenhum trabalho, bem como Picasso, por enquanto de 2014.

Observe se você mudar para super- avançadas para animais ... A única coisa melhor do que Picasso, é fazer com que a mudança para Volley . mas isso é um grande salto .

Note-se que ListView rolagem no Android é muito, muito mais problemático do que a manipulação da tabela de rolagem no iOS . Pode-se dizer, Android + Picasso é mais parecido com a situação no iOS, onde todo o trabalho já é feito para a rolagem grandes exibições de tabela com as imagens.

Para hoje, Picasso é - simplesmente - uma parte central de um aplicativo Android que seja. Graças a Deus, é uma linha de código - nenhuma configuração, nada.

Mais uma vez, a única coisa " melhor do que" Picasso é se você se mover para Volley .

BTW aqui está um excelente artigo longo sobre Volley v . Picasso, se você precisar que ...

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

3BladeCoder @

Você deve usar uma biblioteca de carregador de imagem como Picasso, Volley ou Universal Image Loader, porque eles fazem as seguintes coisas que seu código não fazer:

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).

By the way, você nunca deve executar pedidos de rede no segmento interface do usuário e desde favo de mel, o Android não deixar você fazer isso .