android - 如何在设备重启时使用 Glide v4 在 Firebase 存储上保留图像?
问题描述
作为标题,我使用 Glide v4 从 Firebase Storage 加载图像。我将 Glide 配置为缓存已经加载的图像,如下所示:
Glide.with(myApplicationContext).load(url).thumbnail(0.5f).dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.DATA)
.into(view);
但问题是当设备重新启动时,所有缓存都被清除,如果应用程序没有连接到互联网,则不会显示图像。如何在设备重启时保留 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);
}
}
推荐阅读
- logging - 您如何处理在代码中更深入地记录 HTTP 请求和输出跟踪和错误消息的不同任务?
- asp.net - 我的子报告在主报告的每个单元格中显示所有结果
- java - Postgresql 和 JDBC 检查元数据中的 TYPE ENUM
- python - 如何在没有任何排序功能的情况下按字母顺序对字符串数组进行排序?Python
- reactjs - Nginx - try_files:如何设置远程文件(url)?
- android - 尝试从我的适配器中的 onClick 事件中打开活动
- bash - 如何确定bash中的换行符?
- mysql - 时间戳的时区如何在数据库和/或 Laravel 中工作
- html - 显示代码而不是 html 元素
- swift - 检查每个 ViewController 的登录状态