android - 火存储 : If two listeners listening the same query firebase maintains two different query snap shots?

标签 android firebase google-cloud-firestore

我们正在建立一个求职门户。我们有一个 applications 集合,当用户申请工作时,我们会在其中创建一个文档。

现在,从 Android 应用程序客户端,我正在两个不同的 Activity 中收听相同的集合。我也启用了本地持久化。

现在,Firebase 是否了解这是由两个 Activity 触发的同一查询并为监听器维护一个查询快照,还是创建两个快照?

最佳答案

Now, does the Firebase manages to understand its the same query happening from two activities and maintains one query snapshot for the listener or it creates two snapshots?

既然您说您已启用本地持久性,则意味着 Firebase 将在用户设备上创建所请求文档的本地副本。因此,启用这种持久性后,离线时,执行相同查询的 Activity 数量并不重要,您将始终从缓存中获取数据。

正如@brianbhsu 在他的评论中指出的那样,在在线时,您将始终查询在线 Firestore 实例,以便始终拥有最新的数据。

正如 Frank van Puffelen 在他的回答中提到的那样,Firestore 不会自动在本地存储所有可用数据:

@Mangesh 如果您使用两个不同的 Query 对象从两个不同的 Activity 进行查询,那么这些查询将被视为两个不同的查询。

关于android - 火存储 : If two listeners listening the same query firebase maintains two different query snap shots?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57051635/

相关文章:

java - 每个 API 的 Firestore 导入/导出

java - 在同一数据库上运行的不同线程中的多个游标

android - 检查两个 Bundle 对象在 Android 中是否相等?

android - Fabric Debug Craslytic Reports : Signup, build Id 丢失,应用插件 : io. fabric

swift - Firebase/Swift 两个数据库连接

java - Firebase 中嵌套节点的 onChildRemoved 监听器不起作用

android - 在 View.getDrawingCache() 中获取空指针异常

android - 使用 GSON 从 URL 解析 JSON

android - 使用 Glide 在 RecyclerView 中加载图像时,UI 滞后且不稳定

flutter - 如何从Flutter的dropDownMenu中的选定项目中获取文档ID