缓存视频 Firestore

Posted

技术标签:

【中文标题】缓存视频 Firestore【英文标题】:Caching videos Firestore 【发布时间】:2020-07-24 05:22:07 【问题描述】:

我在我的 android 应用程序中显示照片和视频。

照片缓存由Glide 确保,但我还想缓存从我的 Firestore 数据库下载的视频。

每次我重新启动应用程序时,加载所有视频都需要很长时间(URL 存储在 Firestore 中,来自 Firebase 存储并显示在 RecyclerView 中)。

我知道 Firestore 允许客户端数据在离线时保持持久性,但在我的情况下不是这样,我认为它是自动的...

我该怎么办?

【问题讨论】:

如果视频是从 Firebase 存储中读取的,则它们不会自动存储在本地。 感谢您的回复,有没有其他方法可以使用 Firestore 来做到这一点(不使用 Firebase 存储的 URL 的解决方法)?如果没有,我会找到另一个解决方案。 我建议使用 Firestore 来存储文件。虽然它允许这样做,但有更好的解决方案,您绝对不希望将文件本地保存在 Firestore 用于其本地缓存的 SQLite 数据库中。 【参考方案1】:

如果视频是从 Firebase 存储中读取的,则它们不会自动在本地缓存。

不过,您有几个选择:

您可以自己将它们存储在本地,例如通过将它们下载到本地文件。然后,您需要自己管理这个本地缓存,或者找到一个库来执行此操作。 如果你从下载地址读取文件,你可以use the HttpsURLConnection Response Cache作为本地缓存。

见:

Cache images local, from google firebase storage How to cache Firebase storage downloaded images

【讨论】:

以上是关于缓存视频 Firestore的主要内容,如果未能解决你的问题,请参考以下文章

微博缓存视频在哪个文件夹 怎么查找手机微博缓存的视频文件

Android主流视频播放及缓存实现原理调研

怎样把手机uc浏览器里缓存的视频转到手机里

Spring Boot Cache - 本地缓存

微博缓存的视频怎么存出来?

浏览器视频文件分段缓存合并成完整的视频