重新认识Android Glide

本文详细介绍Glide图片加载库的特点及使用方法。Glide是一款适用于Android平台的高性能开源图片加载框架,支持多种图片格式与数据源,具备高度可配置性,并能有效处理Bitmap。文章覆盖了从初始化到具体功能实现的全过程。

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

一、Glide的简介

      Glide是一个快速和有效的开源媒体管理和图像加载Android框架包装媒体解码,内存和磁盘缓存,和资源汇集成一个简单和易于使用的界面。

二、优点

  1. 可配置度高,自适应程度高

  2. 支持常见图片格式,jpg、png、gif、webp

  3. 支持多种数据源,网络、资源、assets 、File、Uri等

  4. 高效缓存策略支持内存和硬盘缓存

  5. 生命周期集成根据Activity/Fragment生命周期自动管理请求

  6. 高效处理Bitmap

 

三、使用

      添加依赖:

      1.初始化

      Glide支持Activity和Fragment的绑定

 

        Glide.with(Context context);
        Glide.with(Activity activity);
        Glide.with(FragmentActivity activity);
        Glide.with(Fragment fragment);

        将Activity/Fragment作为with()参数的好处是,图片加载会和Activity/Fragment的生命周期保持一致

 

       2.加载资源(网络资源assets资源Recources资源File资源Uri资源字节数组

 

      Glide.with(content).load(String).into(imageView);
      Glide.with(content).load(Uri).into(imageView);
      Glide.with(content).load(File).into(imageView);
      Glide.with(content).load(ResourceId).into(imageView);
      Glide.with(content).load(byte[]).into(imageView);

 

       3.加载gif图片(静态的gif和动态的gif)

     Glide.with(context).load(path)
                    //静态gif图片
                    .asBitmap()
                    .into(imageView);

 

       4.加载中的图片

    Glide.with(context).load(path)
                    //加载过程中的图片
                    .placeholder(R.mipmap.placeholder)
                    .into(imageView);

 

       5.加载失败的图片

 

            Glide.with(context).load(path)
                    //加载错误的图片
                    .error(R.mipmap.error)
                    .into(imageView);

 

 

 

       6.加载缩略图

 

 Glide.with(context).load(path)
                    //先加载缩略图,再加载全图
                    .thumbnail(0.1f)
                    .into(imageView);

 

 

 

       7.加载动画

 

            Glide.with(context).load(path)
                    //无动画
                    .dontAnimate()
                    .into(imageView);
            Glide.with(context).load(path)
                    //淡入淡出
                    .crossFade()
                    .into(imageView);

            Glide.with(context).load(path)
                    //自定义动画
                    .animate(R.anim.image)
                    .into(imageView);

 

      8.设置监听回调

 

   Glide.with(context).load(path)
                    //回掉监听
                    .listener(RequestListener listener)
                    .into(imageView);

 

       9.设置加载尺寸

 

            Glide.with(context).load(path)
                    //指定尺寸
                    .override(200,200)
                    .into(imageView);

 

 

 

 

 

 

            Glide.with(context).load(path)
                    //拉伸截取中间
                    .centerCrop()
                    .into(imageView);
            Glide.with(context).load(path)
                    //等比拉伸填满
                    .fitCenter()
                    .into(imageView);

 

 

 

 

   10.处理图片效果(裁剪、圆角、高斯模糊)

 

      再次添加依赖:

 

    compile 'jp.wasabeef:glide-transformations:2.0.1'

 

            Glide.with(context).load(path)
                    //高斯模糊radius 取值(1-25)
                    .bitmapTransform(new BlurTransformation(context,1))
                    .into(imageView);

 

     11.设置缓存

 

            Glide.with(context).load(path)
                    //设置跳过内存缓存
                    .skipMemoryCache(true)
                    .into(imageView);

            Glide.with(context).load(path)
                    //设置缓存
                    //DiskCacheStrategy.NONE    不做任何磁盘缓存
                    //DiskCacheStrategy.ALL     缓存所有的资源
                    //DiskCacheStrategy.SOURCE  缓存源资源
                    //DiskCacheStrategy.RESULT  缓存转化后的资源
                    .diskCacheStrategy(DiskCacheStrategy.RESULT)
                    .into(imageView);

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值