安卓配置Glide-Module图片缓存

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容