主流图片框架比较分析

最近我对几个主流图片框架进行了调研分析,整理出了文档:

四大图片加载框架总体对比:

性能测试:

以下是个人对GlideFresco对比UImageLoader(鉴于Glidei 基本是Picasso的升级版,所以这里没有对Picasso进行测试)进行的简单性能测试(仅供参考)


测试手机:华为荣耀8     Android7.0

使用的SDK版本:Glide4.0Fresco1.8.0  UImageLoader1.9.5

测试方式为在相同网络环境和图片,测试10次以上取平均值:


1.加载速度测试:


加载单图:

加载图片分辨率为860*1000

不做任何图片变换处理



(注:内存缓存加载速度均在1ms3ms左右)



测试多张图片同时加载总耗时:

20张图片,分辨率1000*1000左右,ImageView尺寸400*400


从上表可以看出:

GlideFresco网络加载的速度都要明显快于ImageLoader,磁盘加载则相差不远,总体Glide比较快。


加载内存测试:

图片列表,一屏20张图片,图片都为分辨率1000*1000左右,ImgeView500*500


(注:这里因为是7.0系统,所以没有体现出Fresco在native内存的优势)

从上面表格可以看出:ImageLoader占用内存比GlideFresco要少,ImageLoaderFresco相对比较容易出现内存抖动现象,所以Glide相对来说加载列表图片更为合适。


总结:

1.三个图片框架,Glide平均速度最快。

2.Glide更适合列表图片,因为它更流畅。

3.Fresco更适合对图片效果要求高的应用。

4.在低于5.0版本的安卓手机Fresco内存优势比较大,不易发生OOM。

5.ImageLoader不能使用gif,只有Fresco可以使用动态的Webp。

6.Fresco包很大,使用需注意。



发布了69 篇原创文章 · 获赞 76 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/sinat_23092639/article/details/79515257