加载消息的性能-Firebase聊天应用程序Swift
我的应用程序中现在有消息,但我正在努力提高性能。我想知道像Facebook messenger这样的应用程序是如何从数据库中加载消息的。我的Firebase结构目前看起来像这样。我使用扇出方法从这个节点(我从另一个节点读取)检索messageID下的消息 我假设Facebook加载了一部分消息,每次用户向上滚动加载消息的顶部(索引0?),它都会加载另一部分消息。因为我使用的是Firebase数据库,我的MessageID是按照发送的时间戳的顺序排列的,所以我最近的消息位于例如userID1节点的底部。我会使用querylimited(tolast:100)加载最近的100条消息,然后每次用户到达顶部时使用querylimited(tolast:100*x)吗?(x作为计数器) 当加载额外的100条消息时,收集视图将保持其当前位置还是无意中滚动到顶部 这种仅查询Firebase数据子集的过程是否会降低成本并提高性能?它会忽略其他messageid吗?通常,当您在Firebase中查询数据子集时,是否会因为它只查看该数据子集而更快加载消息的性能-Firebase聊天应用程序Swift,swift,firebase,firebase-realtime-database,chat,Swift,Firebase,Firebase Realtime Database,Chat,我的应用程序中现在有消息,但我正在努力提高性能。我想知道像Facebook messenger这样的应用程序是如何从数据库中加载消息的。我的Firebase结构目前看起来像这样。我使用扇出方法从这个节点(我从另一个节点读取)检索messageID下的消息 我假设Facebook加载了一部分消息,每次用户向上滚动加载消息的顶部(索引0?),它都会加载另一部分消息。因为我使用的是Firebase数据库,我的MessageID是按照发送的时间戳的顺序排列的,所以我最近的消息位于例如userID1节点的
messages
userID1
-messageID1
fromId
text
timestamp
toId
-messageID2
-messageID3