Android 使用查询读取时Firebase数据库带宽使用情况

Android 使用查询读取时Firebase数据库带宽使用情况,android,firebase,Android,Firebase,我在android应用程序中使用Firebase,我注意到该应用程序使用了大量带宽。 我只在较低的节点中执行读取,如最佳实践中所述,以节省带宽 如果执行如下查询: Query queryRef = firebaseRef.orderByChild("internalKey").equalTo(false); queryRef.addListenerForSingleValueEvent(new ValueEventListener() { ... 在数据库

我在android应用程序中使用Firebase,我注意到该应用程序使用了大量带宽。 我只在较低的节点中执行读取,如最佳实践中所述,以节省带宽

如果执行如下查询:

Query queryRef = firebaseRef.orderByChild("internalKey").equalTo(false);
queryRef.addListenerForSingleValueEvent(new ValueEventListener()
        {
           ...

在数据库中,所有子节点或仅internalKey=false的子节点的带宽使用情况都会被统计?

带宽统计您上载和下载的数据量。就这么简单

如果您打开了
internalKey
,则Firebase将过滤其服务器上的数据,并仅返回与条件匹配的元素

但是,如果您在
internalKey
上没有索引,则所有数据都将下载到客户端,然后客户端将进行过滤。您还应该在logcat iirc中看到关于此的警告


当您看到大量带宽使用时,我建议启用调试日志(
Firebase.getDefaultConfig().setLogLevel(Level.debug)
)并检查logcat中的流量是否符合您的预期。

带宽统计您上载和下载的数据量。就这么简单

如果您打开了
internalKey
,则Firebase将过滤其服务器上的数据,并仅返回与条件匹配的元素

但是,如果您在
internalKey
上没有索引,则所有数据都将下载到客户端,然后客户端将进行过滤。您还应该在logcat iirc中看到关于此的警告


当您看到大量带宽使用时,我建议启用调试日志(
Firebase.getDefaultConfig().setLogLevel(Level.debug)
)并检查logcat中的流量是否符合您的预期。

是的,我在键上有一个索引。文档没有指定该信息。仅说明索引用于性能。谢谢我会试试你的建议。是的,我在键上有一个索引。文档没有指定该信息。仅说明索引用于性能。谢谢我会试试你的建议。