Skip to content

Instantly share code, notes, and snippets.

@mirrajabi mirrajabi/ImageLoaders.md
Last active Jun 19, 2017

Embed
What would you like to do?

Image loading libraries comparison

A quick overview

First lets look at some pros and cons features of some of the most famous libraries in this category^1

Fresco by facebook (~13k stars)

Cons Pros
Huge size of library Pretty fast image loader (for small && medium images)
No Callback with View, Bitmap parameters A lot of functionality(streaming, drawing tools, memory management, etc)
SimpleDraweeView doesn't support wrap_content Possibility to setup directly in xml (for example round corners)
Huge size of cache GIF support
WebP support

Glide by bumptech (~16k stars)

Cons Pros
Big size of library Tinny size of cache
Simple in use
GIF support
WebP support
Fast loading big images from internet into ListView
UI is not freeze
BitmapPool to re-use memory and thus lesser GC events

Picasso by square (~13.5k stars)

Cons Pros
Slow loading big images from internet into ListView
Tinny size of library
Small size of cache
Simple in use
UI is not freeze
WebP support

Library size

The size they take is another aspect of the comparison.

Library Size
Fresco ~2mb
Glide ~450kb
Picasso ~100kb

From this aspect picasso seems to be by far above others.

My experience in working with these libraries

With Fresco you need to use the SimpleDraweeView which might look independent and nice but I don't like it this way. The way Glide, Picasso or UniversalImageLoader load images on ImageView looks more simple and flexible. Fresco has a progress image feature which might be helpful in some situations. The animated GIF support in Fresco comes with an extra dependency where Glide has it inside its core library and Picasso doesn't support it. They all support WebP. Caching is so important i think. They all have a convincing cache system but in Glide and Fresco it looks more flexible.

Memory usage

Glide is more efficient in memory usage in compare with picasso. ^2 Memory usage comparison

Conclusion

Use Glide ! Its awesome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.