我们是否有像iOS Afnetworking中那样的缓存方法/类。如果是或者不建议我使用这个类?
答案 0 :(得分:2)
您可以使用多种解决方案,具体取决于您的需求。 如果要在L1(ram)上缓存图像,可以使用SDK LRUCache(或从支持v4),并轻松将其设置为BitmapLruCache。如果你需要在L1和L2(磁盘)上缓存图像,你可以使用" 2级LRU缓存" GitHub上的解决方案(例如wuman / TwoLevelLruCache等)。
如果您需要缓存作为图像加载库的一部分,您可以查看以下内容之一:(它们都有L1 / L2缓存)
**毕加索(由Square): 它简单易用。 http://square.github.io/picasso/
**滑翔 与Picasso具有相同的API但包含一些增强功能(例如动画GIF支持) https://github.com/bumptech/glide
** Fresco(Facebook): 这个东西是坏机器,使用起来非常简单,但包含非常令人印象深刻的功能。不会用它来做一个简单的事情。 https://code.facebook.com/posts/366199913563917/introducing-fresco-a-new-image-library-for-android/
(github:https://github.com/facebook/fresco)
你还可以在这里看到一些比较:
Picasso v/s Imageloader v/s Fresco vs Glide http://vardhan-justlikethat.blogspot.co.il/2014/09/android-image-loading-libraries-picasso.html
干杯!
答案 1 :(得分:0)
试试Picasso lib。它在很多情况下都有用。
答案 2 :(得分:0)
您可以使用Android的volly库进行缓存:
https://github.com/rdrobinson3/VolleyImageCacheExample
在上面的链接中,您可以看到如何使用它的示例。
答案 3 :(得分:0)
通用图像加载器,毕加索和延迟加载是我用过的图像缓存目的的最佳选择。