Glide4 高效加载图片的配置详解
本文介绍了Glide4高效加载图片的配置详解,分享给大家,具体如下:
在build.gradle中添加glide依赖
//glide依赖
compile'com.github.bumptech.glide:glide:4.6.1'
//glide相关注解,生成GlideApp代码
annotationProcessor'com.github.bumptech.glide:compiler:4.6.1'
//Glide网络库配置成okhttp3
compile('com.github.bumptech.glide:okhttp3-integration:4.6.1'){
transitive=false
}
Glide全局配置类
packagecom.leo.demo;
importandroid.content.Context;
importandroid.support.annotation.NonNull;
importcom.bumptech.glide.Glide;
importcom.bumptech.glide.GlideBuilder;
importcom.bumptech.glide.Registry;
importcom.bumptech.glide.annotation.GlideModule;
importcom.bumptech.glide.load.engine.DiskCacheStrategy;
importcom.bumptech.glide.load.engine.cache.ExternalCacheDiskCacheFactory;
importcom.bumptech.glide.module.AppGlideModule;
importcom.bumptech.glide.request.RequestOptions;
/**
*Createdbykangyion2018/3/20.
*
*Glide全局配置,使用GlideModule注解执行自动代码生成,生成GlideApp,后续的Glide
*调用都需要替换为GlideApp.with(context).load(url).into(imageView)的方式
*
*/
@GlideModule
publicclassGlobalGlideConfigextendsAppGlideModule{
@Override
publicvoidregisterComponents(@NonNullContextcontext,@NonNullGlideglide,@NonNullRegistryregistry){
super.registerComponents(context,glide,registry);
}
@Override
publicbooleanisManifestParsingEnabled(){
returnfalse;
}
@Override
publicvoidapplyOptions(@NonNullContextcontext,@NonNullGlideBuilderbuilder){
super.applyOptions(context,builder);
/**
*DiskCacheStrategy.NONE:表示不缓存任何内容。
*DiskCacheStrategy.DATA:表示只缓存原始图片。
*DiskCacheStrategy.RESOURCE:表示只缓存转换过后的图片。
*DiskCacheStrategy.ALL:表示既缓存原始图片,也缓存转换过后的图片。
*DiskCacheStrategy.AUTOMATIC:表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。
*/
builder.setDefaultRequestOptions(newRequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE));
/**
*优先外部存储作为磁盘缓存目录,防止内部存储文件过大
*外部存储目录默认地址为:/sdcard/Android/data/com.sina.weibolite/cache/image_manager_disk_cache
*/
builder.setDiskCache(newExternalCacheDiskCacheFactory(context));
}
}
代码解析
磁盘缓存策略
| 缓存常量 | 说明 |
|---|---|
| DiskCacheStrategy.NONE | 表示不缓存任何内容。 |
| DiskCacheStrategy.DAT | 表示只缓存原始图片。 |
| DiskCacheStrategy.RESOURCE | 表示只缓存转换过后的图片。 |
| DiskCacheStrategy.ALL | 表示既缓存原始图片,也缓存转换过后的图片。 |
| DiskCacheStrategy.AUTOMATIC | 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。