Android框架之Glide4.x用法总结

本文总结了Glide4.x在Android框架中的应用,包括添加依赖、使用方法和详细解释。通过示例展示了如何设置占位图、错误图、缓存策略等,并解释了with()、load()、preload()、asBitmap()、into()和listener()等关键方法的作用。

1、添加依赖

    dependencies{
        implementation 'com.github.bumptech.glide:glide:4.8.0'
        annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
    }

2、具体的方法

    RequestOptions options=new RequestOptions();
    options.placeholder(R.drawable.loading); //添加占位图
    options.error(R.drawable.error)
    .centerCrop()//居中显示
    .diskCacheStrategy(DiskCacheStrategy.NONE)//硬盘缓存
    .skipMemoryCache(false)//是否采用内存缓存功能
    .override(200,100)//显示图片的指定大小
    .transform(new BlurTransformation(),new GrayscaleTransformation())//图片的模糊化和黑白化处理

    RequestListener mListener=new RequestListener<Drawable>(){
            @Override
            public boolean onLoadFailed(GlideException e,Object model,Target<Drawable> target,boolean isFirstResource){
                
                return false;
            }
   
            @Override
            public boolean onResourceReady(Drawable resource,Object model,Targer<Drawable> target,DataSource dataSource,boolean isFirstResource){
                return false;
            }
    Glide.with(mContext)
        .load("http://xxxx/cc.jpg")//图片路径
        .asBitmap() //图片的加载格式
        .preload()    //图片的预加载
        .apply(options)
        .listener(mListener)
        .into(imageview);

3、方法的详解

with():方法的参数可以Activity、Fragment等。将用于图片加载的生命周期,比如传入的是Activity,那么在Activity销毁时将对相关图片资源进行回收。

load():方法的参数可以是String、Uri、File、资源ID等。

preload():图片的预加载,提前将图片缓存下来,当需要图片的时候就去缓存中读取,不必再等待漫长的网络加载时间。

asBitmap():指定图片的加载格式为“静态图片”,如果此时加载了一张GIF图,那么Glide会显示这张GIF的第一帧(如果不指定asBitmap()方法,那么Glide会自动判断加载的图片是静态图片还是GIF格式)

asFile()和asDrawable():强制指定文件格式的加载和Drawable格式的加载 。

listener():它实现了一个RequestListener实例。其中RequestListener中需要实现两个方法:onResourceReady()和onLoadFailed()方法。当图片加载完成时,回调onResourceReady();当图片加载失败时,回调onLoadFailed()方法,同时将GlideException参数传递进来,方便我们排查错误,用以定位出具体的原因。

into():传入的ImageView的位置。也可以传入其他的参数比如自定义target。

apply():这个参数详细介绍一下:

它需要传入一个RequestOption()参数,在Glide版本4.8.0之后,显示加载图片错误的方法、占位图的方法是无法直接调取的,这三个方法被封装到了RequestOptions()对象中

placeholder():占位图,当图片从网络或者缓存之前默认显示的图片,等真正的图片图片加载完成之后会将占位图替换掉。

error():用于图片加载失败时显示

centerCrop():图片居中显示  与它还有另外两种对齐方式:fitCenter()、circleCrop()(对图片进行圆形化裁剪)

diskCacheCategory():硬盘缓存策略

参数:

    DiskCacheStrategory.NONE  不缓存任何内容
    DiskCacheStrategory.DATA   只缓存原始图片
    DiskCacheStrategory.RESOURCE  只缓存转换过后的图片
    DiskCacheStrategory.ALL  不仅缓存原始图片,也缓存转换过的图片
    DiskCacheStrategory.AUTOMIC  让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值