【发布时间】:2022-01-19 01:18:05
【问题描述】:
为了减少数据传输(因为这会花费我们很多钱),我们正在更新 Firebase 实时数据库值侦听器以使用子侦听器。由于大多数字段不会更改,而更改最频繁的字段我们只关心某些应用程序状态,因此仅使用添加的子级和删除的子级侦听器似乎符合要求。
为 child_added 和 child_removed 添加侦听器似乎可以在 web 上完美运行。 iOS 似乎也是这样设置的,尽管我承认我还没有在那里测试过。然而,Android 似乎要求我们添加一个大型侦听器来侦听子移动和子更改。
据我了解,聆听这些主要违背了使用子侦听器而不是值侦听器的目的。由于任何时候孩子的任何数据发生变化(大部分时间我们都不关心),它会再次发送整个孩子的快照。我们试图通过仅监听添加/删除和特定情况下的子属性来避免数据传输,但这需要我们基本上一直监听所有这些?是否有另一种方法来实现这一点,以获得我所希望的?
总结我们的对象,我们有:
parent
--child A
----child A property 1
----child A property 2
--child B
----child B property 1
----child B property 2
等等。我们想知道何时添加或删除了一个孩子,但大多数时候我们并不关心保持孩子的属性更新,而是希望避免重新传输该数据。这是如何在 Android 上完成的(特别是使用 Java)?谢谢!
【问题讨论】:
标签: android firebase firebase-realtime-database