在我的项目中,我使用Firebase实时数据库和Firebase存储。数据库的结果获得缓存,但Firebase存储的信息却没有。我想创建一个与实时数据库兼容的缓存系统,以便引用Firebase存储中的文件的数据库部分将从数据库引用包含的URL创建缓存文件。我该怎么做呢?
答案 0 :(得分:0)
适用于云存储的Firebase SDK本身不支持离线访问。但我绝对建议使用名为Glide的库来下载和显示图像。您将拥有脱机磁盘缓存支持,但这不是核心Android SDK for Cloud Storage的一部分。
因此,使用Glide
您永远不必担心实现任何类型的内存或磁盘缓存。您可以预期,如果Glide已经加载了一个图像,并且没有从磁盘缓存的两个内存中逐出,那么它将在离线时立即可用而不添加任何其他代码。
您还可以配置sizes of the caches。以下是文档对默认磁盘缓存大小的说法:
内部缓存工厂将磁盘缓存放在应用程序的内部缓存目录中,并将最大大小设置为250MB。
对于内存缓存:
默认大小由MemorySizeCalculator类决定。 MemorySizeCalculator类考虑了给定设备的屏幕大小可用内存,以提供合理的默认大小。