0

我正在構建一個聊天應用程序。我的Firebase數據庫中有一個特定的節點,用於存儲此用戶與其他人(消息列表)之間的對話。我使用FirebaseUI的一部分FirebaseRecyclerAdapter將這些消息加載到我的應用程序中。它工作得很好,但我擔心縮放。如果一個對話說有20,000個消息(許多對話做!)會加載嗎? Firebase是一次或分批加載Firebase數據庫中的這些數據嗎?
如果沒有我如何準確加載數據批量到一個RecylcerView(如果有1000個項目,最初1000 - 980,當用戶向上滾動980 - 960等)我明白,我可以使用endAt()和limitToLast ()函數將數據批量加載到數據源(ArrayList)中,但是如何實現一個RecyclerView以批量加載?FirebaseRecyclerAdapter(來自FirebaseUI數據庫)是否從批處理列表(在Firebase數據庫中)批量加載數據?

recyclerView.setHasFixedSize(true); 
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext()); 
    linearLayoutManager.setStackFromEnd(true); 
    recyclerView.setLayoutManager(linearLayoutManager); 
    final DatabaseReference databaseReference = /*Database Reference */ ; 
    databaseReference.keepSynced(true); 
    firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Chat, RecyclerView.ViewHolder>(Chat.class, R.layout.chat_message_received, RecyclerView.ViewHolder.class, databaseReference.orderByChild("timeStamp").getRef()) { 
     //...Code 
    }; 
    recyclerView.setAdapter(firebaseRecyclerAdapter); 
    recyclerView.scrollToPosition(firebaseRecyclerAdapter.getItemCount() - 1); 

回答