如何缓存Firebase存储下载的图像

时间:2019-01-17 11:24:23

标签: android firebase firebase-storage android-glide

我正在开发一个需要缓存图像的应用程序,以便在用户脱机时可以检索它们,并且在用户关闭并重新打开该应用程序后也应该可以访问它们。

我需要

FirebaseFirestoreSettings.setPersistenceEnables(true)

我的问题是我找不到正确的方法。

  • 我尝试将图片保存到LruCache,但是一旦关闭应用程序,所有缓存的数据都会被删除。
  • 我可以将图片保存到文件中并进行检索,但是我不希望用户访问这些图片,因为其中一些可能已获得版权。
  • 我可以使用DiskLruCache存储位图,但找不到指导说明其工作原理的教程,并且在android开发人员网站上有关它的文章没有任何帮助。

也许“滑行”是一种解决方案,但是我在需要时无法检索保存的位图。

是否有正确或最佳的方法?

2 个答案:

答案 0 :(得分:0)

我不完全了解按用户下载图像,对其进行缓存但不允许以后显示的想法。

我认为您在这里有2个选择。

第一个是使用Glide缓存,但是您无法完全控制何时以及如何清除图像。

第二个选项是将图像另存为files在私有目录中(用户将无法预览该图像),并在应用程序中创建某种逻辑(根据您的限制)以控制何时以及如何在应用中向用户显示这些图像。

答案 1 :(得分:0)

尝试Picasso,它具有自动图像缓存。