1、创建一个名为MyGlideModule公共类,使其继承GlideModule,操作步骤如下:
public class MyGlideModule implements GlideModule{
@Override
public void applyOptions(Context context, GlideBuilder glideBuilder) {
//缓存大小
int CacheSize =200*1024*1024;//设置内存缓存glideBuilder.setMemoryCache(newLruResourceCache(CacheSize ));//设置内存缓存glideBuilder.setDiskCache(newInternalCacheDiskCacheFactory(context,CacheSize ));//设置磁盘缓存 glideBuilder.setDiskCache(newExternalCacheDiskCacheFactory(context,CacheSize ));//自定义磁盘缓存到指定目录//图片缓存的路径
StringdiskCachePath = KangConfigPreference.getInstance().getImagePath(); //磁盘缓存路径
DiskLruCacheFactory diskLruCacheFactory =newDiskLruCacheFactory(diskCachePath, diskCacheSize); //设置自定义磁盘缓存
glideBuilder.setDiskCache(diskLruCacheFactory );
} }
注意:(1)MemoryCache为内存缓存,内存缓存是在设备的RAM(内存)中去维护图片的。这里没有IO行为,所以这个操作是很快的。
(2)DiskCache为磁盘缓存,它可以位于应用的私有目录,也就是说,除了它自己,外部应用是访问不到的;也可以位于外部存储,公有目录,但是这两个不能同时设置。而Glide为这两项提供了它的实现:InternalCacheDiskCacheFactory和ExternalCacheDiskCacheFactory。
InternalCacheDiskCacheFactory将设置磁盘缓存到应用的内部目录。
ExternalCacheDiskCacheFactory将设置磁盘缓存到外部存储。
如果你想要将磁盘缓存到指定的目录,那么你需要使用DiskLruCacheFactory。(上面代码中提到)
2、如以上配置需要全局生效,还需要在mainfest文件中去注册该GlideModule。
在application内添加如下代码:
<meta-data
android:name="com.glide.demo.GenrateGlideModule"
android:value="GlideModule"
/>
此时,使用Glide-Module图片缓存的配置就完成了,谢谢观看。
引用参考:http://www.cnblogs.com/whoislcj/p/5565012.html