Images come in all shapes and sizes. In many cases they are larger than required for a typical application user interface (UI). For example, the system Gallery application displays photos taken using your Android devices’s camera which are typically much higher resolution than the screen density of your device.
And when you start to need caching, transformations, and better performance, it’s natural to ask if someone else has solved this problem before you. Just a few months back, I found myself in that exact situation with one of our client apps. I researched some solutions, but didn’t find anything compelling enough to commit to.
Comparison of Top 10 Android Image Loading Library
TMH rating – 10.0
Powerful and flexible library for loading, caching and displaying images on Android. It aims to provide a powerful, flexible and highly customisation instrument for image loading, caching and displaying. It provides a lot of configuration options and good control over the image loading and caching process.
TMH rating – 9.9
A powerful image downloading and caching library for Android. Images add much-needed context and visual flair to Android applications. Picasso allows for hassle-free image loading in your application—often in one line of code!
An image loading and caching library for Android focused on smooth scrolling. It is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.
TMH rating – 9.8
An image management library by FaceBook. It takes care of image loading and display, so you don’t have to. It will load images from the network, local storage, or local resources, and display a placeholder until the image has arrived. It has two levels of cache; one in memory and another in internal storage.
Android Asynchronous Networking and Image Loading. It has Disk and memory caching, Bitmaps are held via weak references so memory is managed very efficiently and ListView Adapter recycling support.
TMH rating – 9.2
An Android transformation library providing a variety of image transformations for Glide.
TMH rating – 8.5
Compressor is a lightweight and powerful android image compression library, also support RxJava. It will allow you to compress large photos into smaller sized photos with very less or negligible loss in quality of the image.
TMH rating – 1.8
Library to handle asynchronous image loading on Android. It support image transformations which are also cached to disk and memory, synchronous fetches and download progress callbacks.
TMH rating – 1.6
Bitmap decoder, handle resize & quality & compress stuff following user’s configurations. It is not an ImageLoader, it born for process single bitmap. Some conditions, we want a image displayed in some limit, such as the max size, the memory cost and its format. SoBitmap handle these all for you, then release you to concern the real important things.
It is an Android library that helps to load images asynchronously. Like its upstream libs-for-android project, it executes image requests in a thread pool and provides caching support.
TMH rating – 1.5
Android Libary that lets you to select multiple images, video or voice for Android. It is an Android Libary that lets you to select multiple images, video or voice for Android 4.1 (API 16) +.
So my feeling is that, if you have a large, stable, pre-existing project, you are probably better off using Picasso. Integration is painless, performance seems good, and if the fade-in works for you, you get some free visual fun, too.
If, on the other hand, your app is new, or if it’s small enough that you can think about swapping out the back end completely, and it deals mostly with small HTTP payloads, Volley is worth considering. Once you define your requests, using them from within a fragment or activity is painless. And unlike parallel AsyncTasks, you don’t have to worry about spinning up too many threads, or potential missteps with shared state.
Or what about using both at the same time? If Volley’s image management causes you severe pain, then you’re probably fine using both. I wouldn’t start off using both, however. Picasso solves a couple of pain points that Volley doesn’t address, and it’s trivial to integrate, which means that you should be perfectly fine putting off switching to Picasso until it’s necessary.