我正在使用Firebase和Geofire开发应用。在当前位置运行Geo查询时,假设我在OnKeyEntered覆盖方法中收到10个键。这些密钥中的每一个本质上都是Firebase中的用户节点。我需要在查询区域中听取每个用户的任何数据更改,以便我可以实时显示地图上的更新。
目前,我正在为输入的每个键添加一个ValueEventListener,但我不确定是否同时启动这么多的监听器是个好主意。查询区域中的用户可能超过50个。这意味着我可以有50个开放的侦听器!
还有更好的方法吗?我试图找出一个firebase查询来仅过滤地理查询键但是不成功。
任何帮助都会很棒!
听众的计算成本并不高,除非你有一个会被频繁触发的人,因为他们正在收听的数据经常变化。
在实际观察到优化代码之前,不要陷入优化代码的陷阱。当您发现性能不佳时,就是进行优化的时候了。如果你需要一群听众来完成你的工作,那就去做吧。只要知道你的实际上限是什么,并确保测试问题的上限。