Glide,如何在加载图片时显示缓存并且只在充电时请求?

3
当网络较慢时,Glide 显示图片的时间过长,我需要立即显示图片。
1个回答

12

1) 如果您的图像不会快速更改,可以使用Glide磁盘和内存缓存功能。使用.diskCacheStrategy(DiskCacheStrategy)方法定义策略。有几种DiskCacheStrategy可供选择:

  • DiskCacheStrategy.NONE 不缓存任何内容
  • DiskCacheStrategy.SOURCE 仅缓存原始全分辨率图像。
  • DiskCacheStrategy.RESULT 仅缓存最终图像,在减小分辨率后。
  • DiskCacheStrategy.ALL 缓存所有版本的图像。这是默认行为

2) 如果您的图像会快速更改,您可能需要立即加载缓存的图像,然后执行网络调用以获取更新并在成功后加载它。有多种方法可以实现此目的,但您可能希望查看RxJava.concat


@Ceaggar,对你有帮助吗? - Aitor Viana
并不是,因为我想消除延迟。 虽然Glide验证了URL的更改并重新加载新图片,但我想它显示已经缓存的那个,图片1= http://awesome.image.com/myawesomeimage.png [已缓存] 图片2= http://awesome.image.com/otherimage.png [待下载]Glide将在下载otherimage.png同时显示myawesomeimage.png。但我非常感谢您的回复,因为我看到您已经帮助了社区中的其他成员。 - Celggar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接