http://mrfu.me/2016/02/27/Glide_Request_Priorities/
Glide:Google推荐的图片加载库,专注于流畅的滚动
属性
thumbnail()简单的缩略图:
Glide
.with( context )
.load( UsageExampleGifAndVideos.gifUrl )
.thumbnail( 0.1f )
.into( imageView2 );
你传了一个 0.1f 作为参数,Glide 将会显示原始图像的10%的大小。如果原始图像 有1000x1000 像素,那么缩略图将会有 100x100 像素。因为这个图像将会明显比 ImageView 小很多,你需要确保它的 ScaleType 的设置是正确的。
priority()优先级:
填的枚举参数分别为:
Priority.LOW 最低
Priority.NORMAL 正常
Priority.HIGH 高
Priority.IMMEDIATE 最高
跳过磁盘缓存diskCacheStrategy():
你可以用 .diskCacheStrategy() 方法为 Glide 改变磁盘缓存的行为。不同的于 .skipMemoryCache() 方法,它需要一个枚举而不是一个简答的布尔值。如果你想要为一个请求禁用磁盘缓存。使用枚举 DiskCacheStrategy.NONE 作为参数
自定义磁盘缓存:
枚举参数有:
DiskCacheStrategy.NONE 什么都不缓存,就像刚讨论的那样
DiskCacheStrategy.SOURCE 仅仅只缓存原来的全分辨率的图像。在我们上面的例子 中,将会只有一个 1000x1000 像素的图片
DiskCacheStrategy.RESULT 仅仅缓存最终的图像,即,降低分辨率后的(或者是转换后的)
DiskCacheStrategy.ALL 缓存所有版本的图像(默认的)
内存缓存skipMemoryCache:
我们调用了 .skipMemoryCache(true) 去明确告诉 Glide 跳过内存缓存。这意味着 Glide 将不会把这张图片放到内存缓存中去。这里需要明白的是,这只是会影响内存缓存!Glide 将会仍然利用磁盘缓存来避免重复的网络请求。
asBitmap():
将Gif 转为 Bitmap
asGif():
Gif 检查属性
FitCenter:
fitCenter() 是裁剪技术,即缩放图像让图像都测量出来等于或小于 ImageView 的边界范围。该图像将会完全显示,但可能不会填满整个 ImageView
CenterCrop:
CenterCrop()是一个裁剪技术,即缩放图像让它填充到 ImageView 界限内并且侧键额外的部分。ImageView 可能会完全填充,但图像可能不会完整显示
override(w,h):
加载时给图片设置宽高
dontAnimate():
取消动画属性调用以后将没有任何动画
crossFade():
淡入淡出属性动画默认的持续时间是 300毫秒比如crossFade(3000)代表动画时间3秒
error:
错误占位符比如加载出错等设置出错默认图片比如error(R.mipmap.future_studio_launcher)
placeHolder():
占位属性内部可以设置默认图片比如placeholder(R.mipmap.ic_launcher)
load(String imageUrl) :
这里你可以指定哪个图片应该被加载,同上它会是一个 字符串的形式表示一个网络图片的 URL
into(ImageView targetImageView) :
你的图片会显示到对应的 ImageView 中。
列子:
ImageView targetImageView = (ImageView) findViewById(R.id.imageView);
String internetUrl = "http://i.imgur.com/DvpvklR.png";
Glide
.with(context)
.load(internetUrl)
.into(targetImageView);
从资源中加载:
地址用ID代替:
int resourceId = R.mipmap.ic_launcher;
Glide
.with(context)
.load(resourceId)
.into(imageViewResource);
从文件中加载:
File file = new File(Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES), "Running.jpg");
Glide
.with(context)
.load(file)
.into(imageViewFile);
一个小助手功能:简单的从资源 id 转换成 Uri:
public static final String ANDROID_RESOURCE = "android.resource://";
public static final String FOREWARD_SLASH = "/";
private static Uri resourceIdToUri(Context context, int resourceId) {
return Uri.parse(ANDROID_RESOURCE + context.getPackageName() + FOREWARD_SLASH + resourceId);
}
显示本地视频
String filePath = "/storage/emulated/0/Pictures/example_video.mp4";
Glide
.with( context )
.load( Uri.fromFile( new File( filePath ) ) )
.into( imageViewGifAsBitmap );
释放资源
Glide.get(MainActivity.this).clearDiskCache();
Glide.get(MainActivity.this).clearMemory();
Glide:Google推荐的图片加载库,专注于流畅的滚动
属性
thumbnail()简单的缩略图:
Glide
.with( context )
.load( UsageExampleGifAndVideos.gifUrl )
.thumbnail( 0.1f )
.into( imageView2 );
你传了一个 0.1f 作为参数,Glide 将会显示原始图像的10%的大小。如果原始图像 有1000x1000 像素,那么缩略图将会有 100x100 像素。因为这个图像将会明显比 ImageView 小很多,你需要确保它的 ScaleType 的设置是正确的。
priority()优先级:
填的枚举参数分别为:
Priority.LOW 最低
Priority.NORMAL 正常
Priority.HIGH 高
Priority.IMMEDIATE 最高
跳过磁盘缓存diskCacheStrategy():
你可以用 .diskCacheStrategy() 方法为 Glide 改变磁盘缓存的行为。不同的于 .skipMemoryCache() 方法,它需要一个枚举而不是一个简答的布尔值。如果你想要为一个请求禁用磁盘缓存。使用枚举 DiskCacheStrategy.NONE 作为参数
自定义磁盘缓存:
枚举参数有:
DiskCacheStrategy.NONE 什么都不缓存,就像刚讨论的那样
DiskCacheStrategy.SOURCE 仅仅只缓存原来的全分辨率的图像。在我们上面的例子 中,将会只有一个 1000x1000 像素的图片
DiskCacheStrategy.RESULT 仅仅缓存最终的图像,即,降低分辨率后的(或者是转换后的)
DiskCacheStrategy.ALL 缓存所有版本的图像(默认的)
内存缓存skipMemoryCache:
我们调用了 .skipMemoryCache(true) 去明确告诉 Glide 跳过内存缓存。这意味着 Glide 将不会把这张图片放到内存缓存中去。这里需要明白的是,这只是会影响内存缓存!Glide 将会仍然利用磁盘缓存来避免重复的网络请求。
asBitmap():
将Gif 转为 Bitmap
asGif():
Gif 检查属性
FitCenter:
fitCenter() 是裁剪技术,即缩放图像让图像都测量出来等于或小于 ImageView 的边界范围。该图像将会完全显示,但可能不会填满整个 ImageView
CenterCrop:
CenterCrop()是一个裁剪技术,即缩放图像让它填充到 ImageView 界限内并且侧键额外的部分。ImageView 可能会完全填充,但图像可能不会完整显示
override(w,h):
加载时给图片设置宽高
dontAnimate():
取消动画属性调用以后将没有任何动画
crossFade():
淡入淡出属性动画默认的持续时间是 300毫秒比如crossFade(3000)代表动画时间3秒
error:
错误占位符比如加载出错等设置出错默认图片比如error(R.mipmap.future_studio_launcher)
placeHolder():
占位属性内部可以设置默认图片比如placeholder(R.mipmap.ic_launcher)
load(String imageUrl) :
这里你可以指定哪个图片应该被加载,同上它会是一个 字符串的形式表示一个网络图片的 URL
into(ImageView targetImageView) :
你的图片会显示到对应的 ImageView 中。
列子:
ImageView targetImageView = (ImageView) findViewById(R.id.imageView);
String internetUrl = "http://i.imgur.com/DvpvklR.png";
Glide
.with(context)
.load(internetUrl)
.into(targetImageView);
从资源中加载:
地址用ID代替:
int resourceId = R.mipmap.ic_launcher;
Glide
.with(context)
.load(resourceId)
.into(imageViewResource);
从文件中加载:
File file = new File(Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES), "Running.jpg");
Glide
.with(context)
.load(file)
.into(imageViewFile);
一个小助手功能:简单的从资源 id 转换成 Uri:
public static final String ANDROID_RESOURCE = "android.resource://";
public static final String FOREWARD_SLASH = "/";
private static Uri resourceIdToUri(Context context, int resourceId) {
return Uri.parse(ANDROID_RESOURCE + context.getPackageName() + FOREWARD_SLASH + resourceId);
}
显示本地视频
String filePath = "/storage/emulated/0/Pictures/example_video.mp4";
Glide
.with( context )
.load( Uri.fromFile( new File( filePath ) ) )
.into( imageViewGifAsBitmap );
释放资源
Glide.get(MainActivity.this).clearDiskCache();
Glide.get(MainActivity.this).clearMemory();