Android图片缓存框架 -UIL、Glide、Picasso、Fresso比较(一)

本文对比了14种常见的Android图片加载框架,包括ImageLoader、Picasso、Glide和Fresco,详细分析了各自的优缺点及适用场景,帮助开发者选择最适合项目需求的图片加载方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       

目录

1 4种常见图片框架

1.1  ImageLoader 

1.2 Picasso 

1.3 Glide

1.4 Fresco 

2. 总结


   Android开源的图片加载框架有很多,常见的ImageLoader、Picasso、Glide、Fresco;

1 4种常见图片框架

1.1  ImageLoader 

Android-Universal-Image-Loader 是最早的开源项目,但是已经不再更新了;

优点:

1. 最早开源的图片缓存框架,比较稳定,加载速度适中;

2. 支持下载进度监听;

缺点:

1. 不支持GIF图片加载;

2. 使用比较繁琐,缓存机制和http的缓存机制结合不好;

3. 已经不再更新了;

Github网址:https://github.com/nostra13/Android-Universal-Image-Loader

 

1.2 Picasso 

Picasso是 Square 公司开源的强大的下载和缓存图片库;

优点:

1. 使用比较简单,一行代码就可以加载图片并显示

2. 图片转换功能(图片高斯模糊、圆角、圆形图片);

2. 框架体积小;

缺点:

1. 不支持GIF图片 ;

2. 缓存的图片是没有缩放的,并且默认使用ARGB_8888格式缓存图片,缓存体积较大;

Github网址:https://github.com/square/picasso

 

1.3 Glide

Glide 是 Google 员工 bumptech 的开源项目,2014年google I/O大会上得到官方推荐;

优点:

1. Picasso所能实的功能Glide都可以做到,和Picasso一样使用起来比较简单;

2. 并且支持加载显示GIF、WebP图片、缩略图、视频静态图片;

3. 图片缓存也会自动缩放,默认使用RGB_565格式缓存图片,是Picasso缓存体积的一半;

缺点:

1. 网络加载性能比较差, 网络不好时,加载速度慢;

2. 加载GIF图片消耗内存交大;

2. 包比较大;

Github网址:https://github.com/bumptech/glide

 

1.4 Fresco 

 Fresco是 Facebook 推出的开源图片缓存框架;

优点:

1. 可以从网络、本地存储和本地资源加载图片,有两级缓存:一个在内存中,一个在内存存储中;

2. 可以显示动画GIF图片和WebP;

3. 可以渐进式加载图片,支持图片从模糊到清晰加载;

4. JPEG图片改变大小是通过native进行的,不在虚拟机堆内存,减少OOM;

缺点:

1. 侵入性较强,必须使用官方提供的SimpleDraweeView代替ImageView加载图片;

1. 框架比较大,造成Apk体积变大;

2. 操作步骤比较繁琐;

Github网址:https://github.com/facebook/fresco

 

2. 总结

1. 如果只是简单显示图片,使用Picasso;

2. 显示图片并且显示GIF,使用Glide;

3. 加载大量图片或渐进式显示图片,使用Fresco;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值