粗谈android图片框架优缺点:Glide、picasso、Fresco、ULM

粗谈android图片框架优缺点:Glide、picasso、Fresco、ULM

android_android_studio_1

Glide

  • 优点:
    1.多样化媒体加载
    Glide 不仅是一个图片缓存,它支持 Gif、WebP、缩略图。甚至是 Video

    2.生命周期集成
    通过设置绑定生命周期,我们可以更加高效的使用Glide提供的方式进行绑定,这样可以更好的让加载图片的请求的生命周期动态管理起来

    3.高效的缓存策略
    A. 支持Memory和Disk图片缓存
    B. Picasso 只会缓存原始尺寸的图片,而 Glide 缓存的是多种规格,也就意味着 Glide 会根据你 ImageView 的大小来缓存相应大小的图片尺寸

    C. 内存开销小
    默认的 Bitmap 格式是 RGB_565 格式,而 Picasso 默认的是 ARGB_8888 格式,这个内存开销要小一半。

    4.Android关于图片内存计算,共有四种,分别是:

    1.ALPHA_8:每个像素占用1byte内存
    2.ARGB_4444:每个像素占用2byte内存
    3.ARGB_8888:每个像素占用4byte内存(默认,色彩最细腻=显示质量最高=占用的内存也最大)
    4.RGB_565:每个像素占用2byte内存(8bit = 1byte)

  • 缺点:

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

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

    3. 包比较大;

Picasso

  • 优点:
    1.Picasso是全尺寸下载图片;
    2.Picasso默认的缓存格式为ARGB_888;
    3.链式调用,使用简单;使用比较简单,一行代码就可以加载图片并显示
    4.具有一般图片框架的基础功能;
    5.方便的图片转换;(图片高斯模糊,添加圆角,做度灰处理,圆形图片);
    6.加载过程监听和错误处理;
    7.自动添加磁盘和内存二级缓存;
    8.支持多种数据源加载;
    9.框架体积小

  • 缺点:
    1.Picasso默认不支持Gif图片加载。Picasso库很小,类也很少。

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

Fresco

  • 优点:
    1.内存自动回收。图片不可见时,会及时自动释放所占用的内存,尽可能地避免OOM ;
    2.三级缓存机制。两级内存缓存(解码的与未解码的)+一级磁盘缓存,提升加载速度,节省内存占用空间 ;
    3.支持各种加载场景。如动图加载,高斯模糊等常见的图片加载场景。另外还提供了独特的渐进式加载,先加载小图再加载大图,加载进度等功能(很强大) ;
    4.可以显示动画GIF图片和WebP;

  • 缺点:

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

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

    3. 操作步骤比较繁琐;

ULM

  • 优点:

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

    2.支持下载进度监听;

  • 缺点:

    1. 不支持GIF图片加载;

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

    3. 已经不再更新了;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tree_Root.

大佬给点饭吃

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值