Pat*_*ick 17 android caching universal-image-loader android-volley
我正在寻找一个开源图像加载/缓存解决方案.
我期待:
我希望能够处理来自磁盘和网络的异步图像加载,但是我不确定Google的排球是否从磁盘加载.
Volley是否允许从磁盘加载资源?
Sam*_*udd 26
如果您对更新/更不稳定的软件感到满意,我刚刚发布了一个名为Glide的开源库:https://github.com/bumptech/glide
它旨在让您有效地加载任何可以获得InputStream的图像.它包括一些基本的http /文件加载实现,但也允许您通过回调插入自己的或使用一些外部库(如Volley).
它包括内存和磁盘缓存,以及新设备上的位图回收.您需要做的就是实现一个接口来获取数据模型的输入流(path/url/uri等),并将它与您想要的任何转换,占位符或动画一起传递给Glide单例.
很高兴与您或任何好奇的人交谈,我们在Bump上广泛使用它来与各种库进行交互.
LOG*_*TAG 18
我从http://blog.bignerdranch.com/3177-solving-the-android-image-loading-problem-volley-vs-picasso/收集了一些重要信息 (旧版本Picasso 2.0与凌空之间的比较)
毕加索完全专注于图像加载.因此,如果您在图像加载过程中有怪癖
另一方面,Volley完全专注于处理单个小的HTTP请求.因此,如果您的HTTP请求处理有一些怪癖,Volley可能会为您提供一个钩子.另一方面,如果你的图像处理有一个怪癖,你唯一真正的钩子是ImageCache.这不是什么,但它也不是很多.但它还有更多的其他优点,例如一旦你定义了你的请求,在片段或活动中使用它们就是轻而易举的.与并行AsyncTasks不同
毕加索只做了一件事,而沃利试图解决一个更普遍的问题.
Android根本无法处理高分辨率图像.我对在Android应用程序中捕获OutOfMemoryError的模式有一点迷恋.这似乎是一种荒谬的策略,但与可卡因的缩放和正确拟合大图像相比,Volley是可靠处理某些图像场景的唯一方法.Picasso不尊重
scaleType您的ImageViews上的属性(不确定它是否在最新版本中修复).测试例:我发现Volley在加载原始分辨率图像而不是缩略图版本时捕获OutOfMemoryError,与Picasso版本相比没有爆炸(它也会捕获OutOfMemoryError),但是毕加索无法加载任何太大的图像.Volley不仅不会爆炸,而且Volley显示所有这些大型图像!
Android Hacker Koushik Dutta表示:
测试所有Android Image和http库
我一直在测试和基准测试各种图像加载和http请求库,因为其中一些是在过去一周内发布的.
排队:
- AndroidAsync + UrlImageViewHelper(koush)
- 排球(谷歌)
- okhttp +毕加索(广场)
所有支持缓存和有条件缓存的响应,保持活动等.
思考:
- 毕加索拥有最好的图像API.我将为我未来/当前的东西窃取他们的currying API风格.毕加索也是最慢的.特别是3g对wifi.可能是由于他们的自定义okhttp客户端.
- UrlImageViewHelper + AndroidAsync是最快的.然而,与其他两个伟大的库一起玩,确实强调了图像API已经过时了.
- 凌空很光滑; 我真的很喜欢他们的可插拔后端传输,并可能最终放弃AndroidAsync.请求优先级
和取消管理很棒.更新这些不是真正的http库.只是图像加载器.但是评论中要求进行比较...... Android-Universal-Image-Loader是目前最受欢迎的.高度可定制.
一个问题; 像jquery,但对于Android?我想这很好,如果你有这样的事情.不要使用这个; 它在UI线程或其他东西上扯淡.在列表视图中加载我的Nexus 4上的一堆图像,看起来我再次回到我的HTC G1上.主要口吃.
缓存测试清楚:
冷是新鲜的app开始.温暖是缓存清晰,http连接可能保持活着.
冷/暖(以毫秒为单位,平均10次运行,每次运行清除数据):
- 毕加索12142/11892
- UrlImage 7378/4525
- 排球8292/7520
- Android-Universal-Image-Loader 14484/11243
- AQuery 11341/9637(这个似乎锁定了UI线程......不要使用它)
这是测试代码库:https: //github.com/koush/AndroidNetworkBench
结论:这些测试很难得出结论.我刚用很多图像测试了并发网络访问.不可否认,测试图书馆还有更多.我喜欢Volley如何在Activity生命周期中表现出色.其他图书馆都没有这样做.
所以,无论你的船是什么漂浮.我(Koush)希望Volley加上Picasso的API.
| 归档时间: |
|
| 查看次数: |
23707 次 |
| 最近记录: |