Android图片缓存Picasso、Glide精简使用教程

Picasso:

  1. 体积比Glide小;
  2. 网络框架使用okhttp的建议使用Picasso

Glide:

  1. Picasso实现的功能Gilded都能实现;
  2. 支持GIF、视频、缩略图等;
  3. 跟activity、fragment生命周期保持一致;

更详细对比已有更好的文章,这里只是粗糙的对比一下。

一.Picasso详细可参考:https://blog.csdn.net/mawei7510/article/details/80580097

1.引入依赖:

implementation 'com.squareup.picasso:picasso:2.5.2'

2.加载显示图片基础属性(根据自己需求使用属性,不需要全部都用上的,必须的:with、load、into)

 Picasso.with(this)
        .load(ZM)    //图片资源,可以是网络图片、Uri、File、mimap
        .placeholder(ZM)    //占位图,还没有加载完成时显示ZM图片,ZM必须是本地的,跟noPlaceholder不能同时用
        .error(ZM)    //加载出错时显示ZM图片
        .noFade   //使加载图片渐入过度效果
        .resize(100,100)    //设置图片尺寸,可以设置dp,将大小写在dimens.xml然后引用即可,只有原始尺寸大于设置尺寸才有效
        .onlyScaleDown()    //缩小
        .centerCrop()    //裁剪充满ImageView 的边界,居中裁剪,因为resize后可能图片拉伸、扭曲,
        .centerInside() //控件将view全部展示
        .fit()    //resize图片大小我们需要计算,fit自动测量View大小
        .rotate(180)    //旋转,可以是以一个点为旋转
        .memoryPolicy(MemoryPolicy.NO_CACHE,MemoryPolicy.NO_STORE) //内存缓存,NO_CACHE跳过检测,NO_STORE不缓存到内存
        .networkPolicy(NetworkPolicy.NO_CACHE)//跳过磁盘缓存,NO_STORE不缓存到磁盘只对OkHttp有效,OFFLINE强制从缓存拿,不网络请求
        .setIndicatorsEnabled(true);//显示指示器,绿色从内存加载、蓝色从磁盘加载、红色从网络加载
        .into(mImageView);    //显示图片的控件

3.Transformation转换器:高斯模糊、添加圆角、做度灰处理、圆形图片……

4.请求优先级:LOW、NORMAL(默认)、HIGH

 

二.Glide

详细可参考:https://blog.csdn.net/guolin_blog/article/details/53759439

1.引入依赖包、添加权限

    compile 'com.github.bumptech.glide:glide:3.7.0'

    <uses-permission android:name="android.permission.INTERNET" />

2.加载图片,不用担心内存浪、溢出,用多少尺寸加载多少,一般不用指定尺寸(根据自己的需求使用,必须有的:with、load、into)

Glide.with(this)
     .load(ZM)    //File、应用资源、二进制流、Uri图片、GIF图片(Picasso不支持)
     .asBitmap() //指定静态图,即使是GIF也只显示第一帧
     .asGif()  //指定动态图片,,传入静态的只能走error
     .placeholder(R.mipmap.zm)   /占位符,不会显示,有缓存,配合diskCacheStrategy属性使用
     .error(R.mipmap.error)
     .diskCacheStrategy(DiskCacheStrategy.NONE)    //禁止Glide缓存,占位符才能显示
     .override(100, 100)    //指定尺寸,加载成指定尺寸不管控件大小
     .into(imageView);    //显示的控件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值