假设简单的字符模型,如
character: {
gold: 1000,
health: 100,
mana: 50
}
客户将订阅Firebase以侦听gold
、health
和mana
的变化。在数据使用量/Firebase 定价/性能方面,建议采用哪种方式执行此操作?
我应该订阅character
更改还是每个值有 3 个订阅者?
如果你的所有数据(金币、生命值、魔法值(都以同样的方式不断变化,那么你可以订阅角色节点的变化。如果这三个中只有一个不断变化,那么您可以只在每个特定的子项上添加一个侦听器。在这种情况下,如果只有一个值不断变化,则无需下载整个对象。
即使您使用一个或三个侦听器,也不要忘记根据活动生命周期删除侦听器,如下所示:
databaseReference.removeEventListener(valueEventListener);
当然,正如弗兰克建议的那样,做一些测试来测量带宽。
希望对您有所帮助。