图片加载-Glide,Picasso,Fresco区别

Picaso 和 Glide区别

1 缓存原理不同 picaso 是缓存的全尺寸图片 而 Glide缓存的是于ImageView尺寸大小一样大小的图片,如果有不同大小的ImageView加载图片,会重新请求网络获取图片,但是也可以设置Glide的磁盘缓存策略,设置为All,这样就是缓存的全尺寸图片


2 图片质量不同 picaso 加载图片默认是ARGB_8888,Glide默认加载的是ARGB_565,质量要差于picaso,但是内存开销比较小


3 加载速度不同 glide加载速度要快


4 方法数不同 picaso方法数800多 glide 2600多,如果方法数接近
65535,建议picaso


5 glide是谷歌的,picaso是方块公司的


6 glide支持gif图片


Fresco 和Glide区别


1 缓存原理不同,Fresco是两级内存缓存 ,分别是 Bitmap缓存,未解码图片缓存, 文件缓存。Bitmap缓存存储Bitmap对象,这些Bitmap对象可以立刻用来显示者用于后处理在5.0以下系统,Bitmap缓存位于ashmem,这样Bitmap对象的创建和释放将不会引发GC,更少的GC会使你的APP运行得更加流畅。5.0及其以上系统,相比之下,内存管理有了很大改进,所以Bitmap缓存直接位于Java的heap上。当应用在后台运行时,该内存会被清空。2.未解码图片的内存缓存这个缓存存储的是原始压缩格式的图片。从该缓存取到的图片在使用之前,需要先进行解码。如果有调整大小,旋转,或者WebP编码转换工作需要完成,这些工作会在解码之前进行。APP在后台时,这个缓存同样会被清空。3.文件缓存 和未解码的内存缓存相似,文件缓存存储的是未解码的原始压缩格式的图片,在使用之前同样需要经过解码等处理。


2 图片加载效果 Fresco和Glide都支持gif图片,同时fresco支持webP图片格式,Fresco加载的图片,可以设置加载进度条,覆盖水印,点击重新进行加载的效果,Glide没有


3 编译大小 Fresco的项目编译出来大了4-5M,而Glide比较小一些.

你可能感兴趣的:(图片加载,图片加载)