Firebase addListenerForSingleValueEvent下载使用情况

时间:2019-05-25 06:47:01

标签: android firebase firebase-realtime-database

我在Firebase中还很陌生。

我已经了解到Firebase很少有方法来监听数据库addListenerForSingleValueEventaddValueEventListener上的更改。

我知道addListenerForSingleValueEvent仅获取一次数据,因此该方法每个调用仅使用一次下载配额。 addValueEventListener呢?它一直在监听数据库中的更改。使用这种方法一直监听,如何使用下载配额?我的意思是说这种方法会继续使用下载配额,还是只是在发生更改时才使用下载配额?

1 个答案:

答案 0 :(得分:2)

您需要支付从Firebase服务器发送到已连接客户端的任何数据的JSON大小。因此,如果您附加了一个侦听器,该侦听器将检索初始数据,然后获得一个更新,则将向该初始数据和已发送的更新收取费用。

Firebase客户端和服务器一起工作以最小化需要下载的数据量,因此更新可能小于您将侦听器附加到的JSON数据的总大小。

了解enabling debug logging并检查应用程序的logcat输出是了解Firebase服务器发送给客户端的数据量的最佳方法。它将显示出与Firebase的有线流量非常接近的信息,这很好地表明了实际传输的数据大小。


除了JSON数据大小外,您还需要支付建立SSL连接所使用的带宽。尤其是在移动客户端(应用程序倾向于使用相对较短的时间间隔)上,此开销是所用带宽的重要因素。