添加diskCacheStrategy到你的滑翔,选择StrategyType为来源你可以知道为什么从这个linkDiskCacheStrategy.NONE缓存没有使用源代码,所讨论只缓存原始的全分辨率图像。DiskCacheStrategy.RESULT只缓存最终图像,...
添加diskCacheStrategy到你的滑翔,选择StrategyType为来源
你可以知道为什么从这个link
DiskCacheStrategy.NONE缓存没有使用源代码,所讨论
只缓存原始的全分辨率图像。
DiskCacheStrategy.RESULT只缓存最终图像,降低分辨率(也可能转换)(默认行为)
DiskCacheStrategy.ALL缓存后的图像
尝试的所有版本: 得到位图从网址:
return Glide
.with(mContext)
.load(url)
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(width, height)
.get();
对于ImageView的负荷:
Glide
.with(mContext)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(imageView) // your ImageViewID here
用于加载图像到让位图后的ImageView:
Glide.with(context)
.load(url)
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(new SimpleTarget() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation super Bitmap> glideAnimation) {
iv_image.setImageBitmap(resource); // you can store resource to some variable too if you want to update more than 1 images or try it like iv_image2.setImageBitmap(resource)
iv_image.requestLayout();
}
});
Glide是Google推荐的图片加载库, 加载图片一般以下面的形式:Glide.with(context).load(ImgUrl) ..asBitmap() .error(R.drawable.error) .placeholder(R.drawable.loading) .dontAnimate() .diskCacheStrateg
Glide是Google推荐的图片加载库, 加载图片一般以下面的形式:
Glide.with(context).load(ImgUrl).asBitmap().error(R.drawable.error).placeholder(R.drawable.loading).dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL).into(ImageView);
load对象: String(文件路径,网络地址),File(文件资源),Integer(资源id);
asGif:表示的gif动画,asBitmap:表示静态图
diskCacheStrategy磁盘缓存策略:
(1). DiskCacheStrategy.RESULT:展示小大的图片缓存
(2). DiskCacheStrategy.ALL; 展示在控件中大小图片尺寸和原图都会缓存
(3). DiskCacheStrategy.NONE:不设置缓存
(4). DiskCacheStrategy.SOURCE:原图缓存
placeholder(R.drawable.loading): 目标从加载到展示时的控件的显示状态(多用网络加载动画)
error(R,drawable,error): 加载失败时,控件显示的图片。
into(ImageView): 展示的控件
Glide加载网络图片时, 会将图片缓存一份到本地, 下次再加载的时候优先从缓存中拿取, 提高速度.
如果想获取Glide缓存的图片, 怎么办?
我们都知道 开源框架Universal_Image_Loader 提供 “getDiskCache().get(url)” 去获取图片的本地缓存.
但是Glide并没有提供类似方法.
那么Glide如何获取本地的缓存 ?
Glide提供 downloadOnly() 接口, 可以通过此接口来获取缓存文件. 但是有一个前提:
使用Glide加载图片时, 必须指定diskCacheStrategy磁盘缓存策略为DiskCacheStrategy.ALL 或DiskCacheStrategy.SOURCE
使用downloadOnly()获取缓存文件(此方法需要在线程中执行, 如果确定文件有缓存, 它会从缓存中读取文件, 很快):
privateclassGetImageCacheTaskextendsAsyncTask