Picasso vs Fresco
Check this link on stackoverflow. They discuss about it.
In my personal opinion, I like how picasso work, but i never really tested Fresco. So picasso has cool features, but check the link to find more about it..
Picasso and Glide which one the best for get Image form server
There are pros and cons of both the libraries but given below are couple of points:
- Memory consumption: Glide occupies less memory as compared to Picasso. Reason being is Picasso loads full images doesn't matter what ImageView dimensions are mentioned, where as Glide loads image from server for the ImageView size (height/width)
- Library size: Glide is heavier in terms of library size as compared to Picasso.
- Number of methods: Glide is having more number of methods as compared to Picasso.
- GIF Support: Picasso doesn't support GIF image loading.
P.S. There is a good article comes first in google search result https://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en
Android library Picasso or Glide?
Neither Glide nor Picasso is perfect. The way Glide loads an image to memory and do the caching is better than Picasso which let an image loaded far faster. In addition, it also helps preventing an app from popular OutOfMemoryError. GIF Animation loading is a killing feature provided by Glide. Anyway Picasso decodes an image with better quality than Glide.
https://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en
Comparison of Image Library for Android (Picasso, Fresco, etc.)
Refer to this:
https://twitter.com/jessewilson/status/581235604740042752
Local image caching solution for Android: Square Picasso vs Universal Image Loader
https://www.bignerdranch.com/blog/solving-the-android-image-loading-problem-volley-vs-picasso/
Android Image loading - Volley vs Picasso
Picasso v/s Imageloader v/s Fresco vs Glide
Local image caching solution for Android: Square Picasso, Universal Image Loader, Glide, Fresco?
Update Sep 2018: After several years, I needed the almost same thing for a local image caching solution. This time around, UIL has not been in active development. I compared the popular libraries, and the conclusion is pretty no-brainer: just use Glide. It's much more powerful and configurable. Years ago I had to fork and make changes to UIL. Glide supports all my use cases in terms of caching strategy and multiple levels of resolution caching with custom keys. Just use Glide!
Koushik Dutta's comparison is mostly for speed benchmark. His post only touched very basic things, and is not specific for local images. I'd like to share my experiences with Picasso and UIL after I asked the question. Both Picasso and UIL can load local images. I first tried Picasso and was happy, but later I decided to switch to UIL for more customization options.
Picasso:
Picasso's fluent interface is nice. But jumping around with "with", "into", "load" you actually don't know what's behind the scene. It's confusing what's returned.
Picasso allows you to specify exact target size. It's useful when you have memory pressure or performance issues, you can trade off some image quality for speed.
Images are cached with size in its key, it's useful when you display images with different sizes.
You can customize the memory cache size. But its disc cache is only for http requests. For local images, if you care about loading speed, it's good to have a thumbnail disk cache so you don't have to read several MBs for an image every time. Picasso does not have this mechanism resizing and saving thumbnails on disk.
Picasso does not expose the access to its cache instance. (You can get a hold of it when you first configure Picasso and keep it around...).
Sometimes you want to asynchronously read image into a bitmap returned by a listener. Surprisingly Picasso doesn't have that. "fetch()" dose not pass back anything. "get()" is for synchronously read, and "load()" is for asynchronously draw a view.
Picasso only has a few simple examples on the homepage, and you'll have to read through the unordered javadoc for advanced usages.
UIL:
UIL uses builders for customization. Almost everything can be configured.
UIL does not allow you to specify the size you want to load into a view. It uses some rules based on the size of the view. It's not as flexible as Picasso. I have no way to load a lower resolution image to reduce memory footprint. (Edit: this behavior can be easily modified by adding an ImageSize argument in in the source code and bypass the view size checking)
UIL provides customizable disc cache, you can use this to cache the thumbnails with specified size. But it's not perfect. Here are the details. (Edit: if you care about speed and want multiple levels of thumbnail caching, like my case, you can modify the source code, let the disk cache use "memoryKey", and make it also size sensitive)
UIL by default caches images of different sizes in memory, and it can be turned off in configuration.
UIL exposes the backing memory and disk cache you can access.
UIL provides flexible ways you can get a bitmap or load to a view.
UIL is better in documentation. UIL gives the detailed usages on the Github page, and there's a linked tutorial.
I suggest starting with Picasso, if you need more control and customization, go for UIL.
What's the advantage in use Picassa or similar libs when using drawables?
For the example you gave, nothing beyond having all your image loading done in a consistent way.
But, if you want to resize, crop or otherwise transform the image and cache the result then Picasso will handle that for you.
Related Topics
Activity Has Leaked Window That Was Originally Added
How to Hook into the Power Button in Android
Different Values Folders in Android
Dilemma: When to Use Fragments VS Activities:
How to Prevent Custom Views from Losing State Across Screen Orientation Changes
How to Update a Single Row in a Listview
How to Use the Animation Framework Inside the Canvas
Install/Uninstall Apks Programmatically (Packagemanager VS Intents)
How to Check the Current Status of the Gps Receiver
Android Gradle Plugin 0.7.0: "Duplicate Files During Packaging of Apk"
Determining the Size of an Android View At Runtime
What Is the Android Uithread (Ui Thread)
"Failed to Load Ad: 3" With Doubleclick
Difference Between Compilesdkversion and Targetsdkversion
Android Basics: Running Code in the Ui Thread
Android Intent Filter For a Particular File Extension