实现Glide离线模式

时间:2017-12-07 16:38:02

标签: android image android-glide offline-caching

我正在编写一个Android应用程序,我需要在那里有一个离线模式,这意味着我需要从后端下载所有图像,如果我没有互联网连接,我将能够向他们展示用户。我阅读了缓存Glide 4.3.1的官方文档,并尝试使用此代码下载:

GlideApp.with(context)
      .downloadOnly()
      .load(url)
      .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
      .submit();

要加载图像我使用:

GlideApp
        .with(context)
        .load(url)
        .error(R.drawable.image_placeholder)
        .into(imageView);`

看起来它有效,因为我的应用程序占用的空间增加了。但是当我尝试在离线模式下运行我的应用程序时,大多数图像都会被跳过,而在日志中我会看到下一个:

Load failed for myhostname/myfilename.jpg with size [395x485]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class java.io.InputStream, REMOTE 
Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetch failed
Cause (1 of 1): class java.net.UnknownHostException: Unable to resolve host "cava.cool": No address associated with hostname

有人遇到类似问题吗?

P.S。当我有网络连接时,它是完美的。

0 个答案:

没有答案