首页 > 解决方案 > 如何在设备重启时使用 Glide v4 在 Firebase 存储上保留图像?

问题描述

作为标题,我使用 Glide v4 从 Firebase Storage 加载图像。我将 Glide 配置为缓存已经加载的图像,如下所示:

 Glide.with(myApplicationContext).load(url).thumbnail(0.5f).dontAnimate()
                .diskCacheStrategy(DiskCacheStrategy.DATA)
                .into(view);

但问题是当设备重新启动时,所有缓存都被清除,如果应用程序没有连接到互联网,则不会显示图像。如何在设备重启时保留 Glide 缓存?

标签: androidandroid-glide

解决方案


我使用您的代码,当关闭 wifi/internet 并重新启动(小米米 A2)时,图像仍然存在。

我在 Kotlin 中的代码:

class MainActivity : AppCompatActivity() {

    lateinit var imageView: ImageView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        imageView = findViewById(R.id.imageView)
    }

    override fun onResume() {
        super.onResume()
        val url =
            "https://images.unsplash.com/photo-1513618827672-0d7c5ad591b1?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9"
        Glide.with(applicationContext).load(url).thumbnail(0.5f).dontAnimate()
            .diskCacheStrategy(DiskCacheStrategy.DATA)
            .into(imageView);
    }
}

推荐阅读