在我的應用程式中,我使用連接到 firestore 資料庫中的集合的快照偵聽器。
private fun getMessages() {
Firebase.firestore.collection(Constants.MESSAGES)
.orderBy(Constants.SENT_ON)
.addSnapshotListener { value, e ->
if (e != null) {
Log.w(Constants.TAG, "Listen failed.", e)
return@addSnapshotListener
}
val list = emptyList<Map<String, Any>>().toMutableList()
if (value != null) {
for (doc in value) {
val data = doc.data
list.add(data)
}
}
updateMessages(list)
}
}
在集合中有 1000 個專案。我的代碼片段是最有效的嗎?我想要的是一個新的應用程式用戶第一次連接到資料庫時使用 1000 次讀取。之后,由于快照偵聽器只有集合中的新檔案。
uj5u.com熱心網友回復:
乍一看,代碼看起來不錯。
我唯一要做的就是在查詢中添加一個限制,即您認為任何用戶可能希望看到的合理最大值。
您可以考慮使用查詢游標實作分頁或無限滾動,并且只加載用戶可以在其設備螢屏上實際看到的更小的子集。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/440847.html
