我们正在建立一个求职门户。我们有一个 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/