发现:
毕加索vs /s ImageLoader的区别 ... 关于GLIDE图书馆的信息… Facebook有自己的图书馆 壁画 最新加入列表线圈
问题:
毕加索v/s Imageloader vs /s Fresco vs /s Coil之间有什么区别 哪个是最好的库。 如果每个库都有自己的意义,那么它们是什么?
发现:
毕加索vs /s ImageLoader的区别 ... 关于GLIDE图书馆的信息… Facebook有自己的图书馆 壁画 最新加入列表线圈
问题:
毕加索v/s Imageloader vs /s Fresco vs /s Coil之间有什么区别 哪个是最好的库。 如果每个库都有自己的意义,那么它们是什么?
当前回答
请注意,这是一个高度基于观点的问题,所以我不再制作峡湾,而是快速制作了一张表格
库比较很困难,因为在很多参数上,所有四个都做同样的事情,可能除了Fresco因为它有一大堆新的内存级别优化。所以,如果你想根据我的经验来比较某些参数,请告诉我。
由于使用Fresco最少,所以随着我继续在当前的漏洞中使用和理解它,答案可能会发生变化。使用者个人在一个完整的应用程序中至少使用过一次库。
*注-壁画现在支持GIF以及WebP动画
其他回答
我是Fresco项目的工程师之一。显然我是有偏见的。
但你不必相信我的话。我们已经发布了一个示例应用程序,允许您并排比较五个库的性能——Fresco, Picasso, UIL, Glide和Volley Image Loader。你可以在我们的GitHub回购。
我还应该指出,在Maven Central上可以买到Fresco,网址是com.facebook.fresco: Fresco。
Fresco提供了毕加索、UIL和Glide还没有的功能:
Images aren't stored in the Java heap, but in the ashmem heap. Intermediate byte buffers are also stored in the native heap. This leaves a lot more memory available for applications to use. It reduces the risk of OutOfMemoryErrors. It also reduces the amount of garbage collection apps have to do, leading to better performance. Progressive JPEG images can be streamed, just like in a web browser. Images can be cropped around any point, not just the center. JPEG images can be resized natively. This avoids the problem of OOMing while trying to downsize an image.
还有许多其他的(请参阅我们的文档),但这些是最重要的。
壁画来源|场外
(-)
图书馆规模庞大 没有回调视图,位图参数 SimpleDraweeView不支持wrap_content 巨大的缓存容量
(+)
非常快的图像加载器(适用于小型和中型图像) 大量的功能(流,绘图工具,内存管理等) 可以直接在xml中设置(例如圆角) GIF格式支持 WebP和动画WebP支持
毕加索来源|场外
(-)
缓慢加载大图像从互联网到ListView
(+)
图书馆太小了 缓存容量小 使用简单 UI不会冻结 WebP支持
滑翔来源
(-)
图书馆规模大
(+)
缓存的大小很小 使用简单 GIF格式支持 WebP支持 快速加载大图像从互联网到ListView UI不会冻结 BitmapPool重用内存,从而减少GC事件
通用图像加载器源
(-)
功能有限(图像处理有限) 项目自2015年11月27日起停止支持
(+)
图书馆太小了 使用简单
我在SGS2 (Android 4.1)上测试(WiFi 8.43 Mbps) Java的官方版本,不是Xamarin的! 10月19日 我更喜欢用Glide。 点击这里阅读更多。 如何写缓存到外部存储(SD卡)与Glide。
我想和你们分享我在毕加索、Universal Image Loader和Glide之间做的一个基准。
Fresco不在基准测试中,因为对于我正在运行测试的项目,我们不想重构我们的布局(因为Drawee视图)。
我推荐通用图像加载器,因为它的自定义,内存消耗和大小和方法之间的平衡。
如果你有一个小项目,我会选择Glide(或者试试Fresco)。
请注意,这是一个高度基于观点的问题,所以我不再制作峡湾,而是快速制作了一张表格
库比较很困难,因为在很多参数上,所有四个都做同样的事情,可能除了Fresco因为它有一大堆新的内存级别优化。所以,如果你想根据我的经验来比较某些参数,请告诉我。
由于使用Fresco最少,所以随着我继续在当前的漏洞中使用和理解它,答案可能会发生变化。使用者个人在一个完整的应用程序中至少使用过一次库。
*注-壁画现在支持GIF以及WebP动画
格莱德和毕加索都不是完美的。Glide加载图像到内存并进行缓存的方式比Picasso更好,Picasso让图像加载得更快。此外,它还有助于防止应用程序流行的OutOfMemoryError。GIF动画加载是Glide提供的一个致命功能。总之,毕加索解码的图像质量比格莱德更好。
我更喜欢哪一个?虽然我用毕加索画了这么长时间,但我必须承认我现在更喜欢格莱德。但我建议你将位图格式更改为ARGB_8888,让Glide先缓存全尺寸图像和调整大小的图像。剩下的会很好地完成你的工作!
毕加索和格莱德的方法数分别为840种和2678种。 毕加索(v2.5.1)的大小约为118KB,而Glide (v3.5.2)的大小约为430KB。 Glide按大小创建缓存图像,而Picasso保存完整图像并进行处理,因此在加载时,Glide显示更快,但占用更多内存。 Glide默认使用RGB_565较少的内存。
+1毕加索调色板助手。
有一个帖子谈论了很多关于毕加索和格莱德的帖子