我将我的图像及其缩小尺寸的图像(模糊)存储在我的Amazon服务器中,并将这两个路径存储在数据库中。
现在我想知道如果原始图像没有被缓存,如何首先显示模糊图像,点击下载它将下载原始图像。我在这里使用Glide ......
我试过这个
Glide.with(this)
.load(mainUrl)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.thumbnail(Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE))
.centerCrop()
.into(imageView);
但问题是它会在后台自动下载原始图像。
答案 0 :(得分:1)
Glide.with(TheActivity.this)
.load("http://sampleurl.com/sample.gif")
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(theImageView);
您的代码会阻止Glide下载GIF,并且仅在GIF已经缓存时显示,这听起来像您不想要的。
答案 1 :(得分:1)
如果要在加载图像之前显示占位符,请使用以下代码: -
Glide.with(this)
.load(mainUrl)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.placeholder("provide placeholder image here")
.thumbnail(Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE))
.centerCrop()
.into(imageView);
答案 2 :(得分:1)
我在Glide Github问道。 https://github.com/bumptech/glide/issues/2051
然后将apply(RequestOptions.onlyRetrieveFromCache())
添加到您的RequestOptions
。您可以注册一个侦听器,并且当缓存中没有图像时会调用onFailed
。