Fork me on GitHub

Android Glide图片加载库基础使用详解

前言

图片加载在 Android开发项目中是必不可少的,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而Android发展到现在图片加载开源库也越来越多了,下面介绍 Glide开源图片加载库.

简介

Glide是由Google开源的一个图片加载库,是一款快速高效的Android开源媒体管理和图像加载框架,它将媒体解码,内存和磁盘缓存以及资源池包装成简单易用的界面.

功能介绍以及基础使用

1.配置

  • 在Project的gradle添加依赖

    1
    2
    3
    4
    repositories {
    mavenCentral()
    google()
    }
  • 在Module的gradle添加依赖

    1
    2
    3
    4
    dependencies {
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
    }
  • 添加网络权限

    1
    <uses-permission android:name="android.permission.INTERNET"/>
  • 基本使用

    1
    2
    3
    4
    5
    6
    ImageView mImageView = (ImageView) findViewById(R.id.ImageView);
    String Url = "http://***********";

    Glide .with(this)
    .load(Url)
    .into(targetImageView);

2.基本功能介绍&使用

  • 图片的异步加载(基础功能)

    1
    2
    3
    4
    5
    ImageView mImageView = (ImageView) findViewById(R.id.ImageView);
    String Url = "http://**********";

    //Glide使用了流式接口的调用方式
    Glide.with(context).load(Url).into(targetImageView);
  • 设置图片加载尺寸

    1
    Glide.with(this).load(imageUrl).override(500, 500).into(imageView);
  • 设置加载中以及加载失败图片

    1
    2
    3
    4
    Glide
    .with(this)
    .load(imageUrl)
    .placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).into(imageView);
  • 设置加载动画

    1
    Glide.with(this).load(imageUrl).animate(R.anim.item_alpha_in).into(imageView);
  • 设置要加载的内容(图文混排)

    1
    2
    3
    4
    5
    6
    Glide.with(this).load(imageUrl).centerCrop().into(new SimpleTarget<GlideDrawable>() {
    @Override
    public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
    imageView.setImageDrawable(resource);
    }
    });
  • 多样式的媒体加载

    1
    2
    3
    4
    5
    6
    7
    8
    Glide
    .with(context)
    .load(imageUrl);
    .thumbnail(0.1f);//设置缩略图支持:先加载缩略图 (原图像的10%)然后在加载全图
    素。
    .asBitmap()//显示gif静态图片
    .asGif();//显示gif动态图片
    .into(imageView);
  • 设置磁盘缓存策略

    1
    2
    3
    4
    5
    6
    7
    Glide.with(this).load(imageUrl).diskCacheStrategy(DiskCacheStrategy.ALL).into(imageView);

    // 缓存参数说明
    // DiskCacheStrategy.NONE:不缓存任何图片,即禁用磁盘缓存
    // DiskCacheStrategy.ALL :缓存原始图片 & 转换后的图片(默认)
    // DiskCacheStrategy.SOURCE:只缓存原始图片(原来的全分辨率的图像,即不缓存转换后的图片)
    // DiskCacheStrategy.RESULT:只缓存转换后的图片(即最终的图像:降低分辨率后 / 或者转换后 ,不缓存原始图片
  • 清理缓存

    1
    2
    Glide.get(this).clearDiskCache();//清理磁盘缓存 需要在子线程中执行 
    Glide.get(this).clearMemory();//清理内存缓存 可以在UI主线程中进行
  • 生命周期集成

    1
    2
    3
    4
    Glide.with(Context context)// 绑定Context
    .with(Activity activity);// 绑定Activity
    .with(FragmentActivity activity);// 绑定FragmentActivity
    .with(Fragment fragment);// 绑定Fragment

至此,Glide图片加载库基础使用就讲解完毕了,感谢阅读

欢迎关注作者darryrzhong,更多干货等你来拿哟.

请赏个小红心!因为你的鼓励是我写作的最大动力!

更多精彩文章请关注

-------------本文结束 感谢阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!