Glide的基本使用


Glide引入

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

配置网络权限

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

Glide 简单使用

ImageView glideView =  (ImageView) findViewById(R.id.iv_glide);
Glide.with(this)
     .load("http://seopic.699pic.com/photo/40008/7898.jpg_wh1200.jpg")
     .override(100,100)
     .asBitmap()
     .asGif()
     .placeholder(R.mipmap.show)
     .error(R.mipmap.tiger_one)
     .into(glideView);

方法说明

  • with():方法加载Glide实例,入参决定图片加载的生命周期-- 当入参是Activtity Fragment 时,随着对应的类销毁,图片加载也结束,当入参是Application类型时,图片加载周期将随着这个应用的生命周期。
  • load():方法传入加载图片的位置--挂在内存卡的图片,二进制流图片等等。
  • into():方法传入需要显示图片的控件
  • placeholder():设置图片加载还未回调时的占位图片
  • error():传入图片加载失败时的图片
  • override(100,100):指定图片加载的尺寸,不指定的时候更具ImageView的大小自动计算
  • asBitmap():加载静态图片,不指定时根据加载图片自动判断
  • asGif():加载动态图,不指定时根据加载图片自行判断

跳过缓存

skipMemoryCache(true) : 禁止使用内存缓存
diskCacheStrategy(DiskCacheStrategy.NONE) 禁止磁盘缓存

  • DiskCacheStrategy.NONE 不缓存
  • DiskCacheStrategy.RESULT 只缓存原图
  • DiskCacheStrategy.SOURCE 只缓存转换图
  • DiskCacheStrategy.ALL 只缓存原图

缓存机制

内存缓存 :LruCache + HashMap 弱引用的方法(暂时不使用的图片缓存在LruCache中,使用中的图片缓存在HashMap弱引用中)
磁盘缓存 :LruCache (转换图片缓存和原始图片缓存在两个不同的地方)

图片转换

transform()

获取缓存原图

File file = Glide.with(ShowPigPic.this).load("http://seopic.699pic.com/photo/10031/3162.jpgwh1200.jpg") .downloadOnly(Target.SIZEORIGINAL,Target.SIZE_ORIGINAL).get();
Bitmap bitmap = BitmapFactory.decodeFile(file.getPath());
imageView.setImageBitmap(bitmap);

猜你喜欢

转载自blog.csdn.net/u010367265/article/details/79057264