這是一個聊天應用程序。我正在檢索消息以顯示在聊天室recyclerview上。爲此,我使用了FirebaseRecyclerAdapter。我正在檢索最新的500條消息。並且該聊天室有超過20k條消息。當我加載該活動時,需要6秒鐘才能加載所有500條消息。從Firebase數據庫檢索數據時的延遲
我跟蹤了時間。
延遲在setAdapter和RecyclerAdapter類之間。
我的消息結構在火力地堡數據庫
{
"-KlQc42ici0_PRCBX7-V" : {
"message" : "message 1",
"timestamp" : 1496185853436,
"type" : "action",
"username" : "berkleef2",
},
"-KlQmhcwK96j30FNoSs-" : {
"message" : "message 2",
"timestamp" : 1496188640000,
"type" : "action",
"username" : "atrickrodney16yahoocomat",
"zread" : true
},
"-KlQmjSoucJD7uaHriOh" : {
"message" : "message 3",
"timestamp" : 1496188647083,
"type" : "text",
"username" : "atrickrodney16yahoocomat",
"zread" : true
}
}
延遲setAdapter
mNewAdapter = new NewChatRecyclerAdapter(
ChatMessageItem.class,
R.layout.message_item,
RecyclerView.ViewHolder.class, ref.limitToLast(500), Fusername, booIsPrivateChat, chatd, strOpponent);
messageList.setAdapter(mNewAdapter);
後,開始我認爲這是與適配器類沒有問題。所以如果問題是加載500條消息。那麼我應該在這種情況下做加載聊天消息...啓用了
持久性已啓用。但是,當我重新啓動應用程序相同的結果... – Bucky