android glide的框架使用

敢说敢作敢为, 无怨无恨无悔。这篇文章主要讲述android glide的框架使用相关的知识,希望能为你提供帮助。
在android中,可能需要用来从网上获取图片的需求,那么这个功能用第三方框架是最好的,因为第三方框架为我们封装了很多的操作,比如glide框架,可以异步的加载图片,并且可以设置缓存方式和缩略图等一系列功能,下边就介绍下怎么使用。
首先添加gradle:

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

添加对应的权限,访问网络和访问本地存储:
< uses-permission android:name="android.permission.INTERNET" /> < uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

最简单的使用的方法:
Glide .with(this) .load("http://inthecheesefactory.com/uploads/source/nestedfragment/fragments.png") .into(imageView);

glide with的介绍:
  1. with(Context context). 使用Application上下文,Glide请求将不受Activity/Fragment生命周期控制。
  2. with(Activity activity).使用Activity作为上下文,Glide的请求会受到Activity生命周期控制。
  3. with(FragmentActivity activity).Glide的请求会受到FragmentActivity生命周期控制。
  4. with(android.app.Fragment fragment).Glide的请求会受到Fragment 生命周期控制。
  5. with(android.support.v4.app.Fragment fragment).Glide的请求会受到Fragment生命周期控制。
设置占位图和动画在图片过大或者网上太慢时,可以设置为图像设置一个占位图,在图像加载出来之前先显示占位图设置占位图的方式
还可以设置在图像加载失败时显示的图像
Glide.with(this).load("http://ww4.sinaimg.cn/large/610dc034gw1f96kp6faayj20u00jywg9.jpg") .placeholder(R.drawable.ic_launcher) //设置占位图,在加载之前显示 .error(R.drawable.icon) //在图像加载失败时显示 .into(image);

在加载图像时,还可以设置图像显示的动画:
Glide.with(this).load("http://ww4.sinaimg.cn/large/610dc034gw1f96kp6faayj20u00jywg9.jpg") .placeholder(R.drawable.ic_launcher) .error(R.drawable.icon) .crossFade() //设置显示动画, .into(image);

crossFade()有几种重载的方法
crossFade(int duration):设置时间
crossFade(Animation animation, int duration):设置自定义的动画和时间
crossFade(int animationId, int duration): 加载动画资源和时间   缩略图 glide也可以设置缩略图,即先加载缩略图,然后再加载原图:
Glide .with( context ) .load( UsageExampleGifAndVideos.gifUrl ) .thumbnail( 0.1f ) .into( imageView2 );

缓存我们都知道图像的处理和显示在Android中是最耗费内存的,很容易引起OOM的问题,一般在图像处理和显示时,都会使用缓存策略,内存缓存或硬盘缓存,在Glide中也提供了不同的缓存策略,默认的情况下会将显示的图像进行内存缓存,也可以设置不使用内存缓存,调用方法skipMemoryCache(true),就告诉Glide我们不打算使用内存缓存,默认是使用内存缓存的
Glide.with(this) .load("http://ww4.sinaimg.cn/large/610dc034gw1f96kp6faayj20u00jywg9.jpg") .skipMemoryCache(true) .into(image);

Glide同时也提供了硬盘缓存,硬盘缓存的策略可以通过方法diskCacheStrategy()来设定
Glide.with(this) .load("http://ww4.sinaimg.cn/large/610dc034gw1f96kp6faayj20u00jywg9.jpg") .diskCacheStrategy(DiskCacheStrategy.SOURCE) //不使用硬盘缓存 .into(image);

硬盘缓存策略
DiskCacheStrategy.NONE: 不使用硬盘缓存
DiskCacheStrategy.SOURCE: 将原始图像缓存在硬盘中
DiskCacheStrategy.RESULT: 将显示出来大小的图像缓存在硬盘(默认缓存策略)
DiskCacheStrategy.ALL: 显示的图像和原始图像都会缓存【android glide的框架使用】 









    推荐阅读