Fresco、Glide与Picasso的区别

最近项目当中在图片加载过程中有一些新的需求,所以研究了一下时下最火的三个图片加载框架(Fresco、Glide与Picasso)。今天就简单的记录一下,方便以后查看。

  • Fresco
优点:

1,十分强大,内存管理不用愁,不用担心OOM

2,自带图片加载过程中淡入效果,用户体验好

3,图片加载时可直接在布局中设置加载动画等等,减少代码量

缺点:

1,必须使用fresco自定义的控件,而不是android原生的ImageView,以后想要换其他图片加载框架时会比较麻烦,需要更改xml布局文件

2,方法数过多,将近4K的方法,对于较大的项目来说,很可能就是压死骆驼的最后一根稻草

3,必须全套使用fresco的图片加载,否则从缓存中获取一个bitmap都异常费劲

  • Glide

1,加载图片速度快

2,支持Gif、WebP、缩略图,甚至是Video

3,根据Activity/Fragment生命周期自动管理请求

4,默认使用RGB565格式缓存图片,缓存图片大小以imageview的尺寸为准

5,占用内存小,相较于Picasso(同一图片),但是放大图片之后显示效果又比Picasso差一点

6,方法数为2678,也不小

  • Picasso
1,方法数840,较小

2,默认使用ARGB8888格式,以图片原尺寸缓存图片

3,支持优先级处理,即每次任务调度前都会选择优先级高的任务

4,并发线程数根据网络类型而发生改变,手机更换网络类型时,会自动调整线程池最大并发数。比如wifi最大并发为4,4G为3,3G位2


以下是三个图片加载框架的GitHub地址:

  • Fresco
  • Glide
  • Picasso
总结

从项目体积角度进行比较:Fresco>Glide>Picasso,Fresco可以说是综合了之前图片加载框架的所有优点,尤其是在5.0以下的内存优化方面做的非常好,所以在图片较多的应用中更能凸显其价值,如果应用没有太多图片需求的话,还是推荐使用Glide。因为Glide相较于Picasso来说,功能更全面,在gif方面是其杀手锏,内存方面来说也是比后者优秀很多。

你可能感兴趣的:(Android)