Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Picasso v/s Imageloader v/s Fresco vs Glide vs Coil [closed]

Findings:

  1. Difference between Picasso v/s ImageLoader here ...
  2. Info about the library GLIDE here ...
  3. Facebook has its own library Fresco
  4. Newest addition to the list Coil

Questions:

  1. What is the difference between Picasso v/s Imageloader v/s Fresco v/s Coil
  2. Which is the best library to use.
  3. If each library has its own significance, what are they ?
like image 438
Devrath Avatar asked Mar 31 '15 07:03

Devrath


People also ask

What is the difference between Picasso and glide?

Glide's loading times are faster and it uses a small amount of memory for cache, but the library size is quite large. It, too, is easy to implement. Glide might be a better alternative to Picasso when memory footprint is less of a concern or more and larger images need to be processed.

Is coil better than Glide?

Glide is faster and the results of Picasso and Coil are similar. But what about when we are loading from the cache. As you can see in the images below we have the best times for Glide in most of the cases. Coil is the second and Picasso is the last one by far.


2 Answers

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 center.
  4. JPEG images can be resized natively. This avoids the problem of OOMing while trying to downsize an image.

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

like image 152
tyronen Avatar answered Sep 23 '22 10:09

tyronen


Mind you that this is a highly opinion based question, so I stopped making fjords and made a quick table

enter image description here

Now library comparison is hard because on many parameters, all the four pretty much do the same thing, except possibly for Fresco because there is a whole bunch of new memory level optimizations in it.So let me know if certain parameters you'd like to see a comparison for based on my experience.

Having used Fresco the least, the answer might evolve as I continue to use and understand it for current exploits. The used personally is having used the library atleast once in a completed app.

*Note - Fresco now supports GIF as well as WebP animations

like image 20
Vrashabh Irde Avatar answered Sep 22 '22 10:09

Vrashabh Irde