Picasso v/s Imageloader v/s Fresco vs Glide-open source projects square/picasso


I am one of the engineers on the Fresco project. So obviously I’m biased.

But you don’t have to take my word for it. We’ve released a sample app that allows you to compare the performance of five libraries – Fresco, Picasso, UIL, Glide, and Volley Image Loader – side by side. You can get it at our GitHub repo.

I should also point out that Fresco is available on Maven Central, as com.facebook.fresco:fresco.

Fresco offers features that Picasso, UIL, and Glide do not yet have:

  1. Images aren’t stored in the Java heap, but in the ashmem heap. Intermediate byte buffers are also stored in the native heap. This leaves a lot more memory available for applications to use. It reduces the risk of OutOfMemoryErrors. It also reduces the amount of garbage collection apps have to do, leading to better performance.
  2. Progressive JPEG images can be streamed, just like in a web browser.
  3. Images can be cropped around any point, not just the centre.
  4. JPEG images can be resized natively. This avoid the problem of OOMing while trying to downsize an image.

There are many others (see our documentation), but these are the most important.