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根据图片资源智能地选择使用哪一种缓存策略(默认选项)。 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。