拥有一个整个物体或几个孩子的观察者是否更好

时间:2017-07-24 16:11:00

标签: firebase firebase-realtime-database

假设像

这样的简单字符模型
character: {
  gold: 1000,
  health: 100,
  mana: 50
}

客户将订阅firebase以收听goldhealthmana中的更改。在数据使用/ firebase定价/性能方面,建议采用什么方式?

我应该订阅character中的更改还是每个值有3个订阅者?

1 个答案:

答案 0 :(得分:3)

如果您的所有数据(黄金,生命值,法力值)都以同样的方式不断变化,那么您可以订阅角色节点中的更改。如果这三个中只有一个在不断变化,那么您只能在每个特定的孩子上添加一个监听器。在这种情况下,如果只有一个值不断变化,则不需要下载整个对象。

即使您使用一个或三个听众,也不要忘记根据活动生命周期删除听众:

databaseReference.removeEventListener(valueEventListener);

当然,正如弗兰克所建议的那样,做一些tests测量带宽。

希望它有所帮助。