0

我有一個帶有2個片段的簡單viewpager。一個是加載最新的帖子,另一個是加載頂級帖子,類似於Reddit官方應用程序。在Firebase上加載大量數據的最有效方式

我當前加載Firebase數據的方式是設置通過singleValueListener獲取快照,然後進行排序。 「新」選項卡不需要任何查詢,因爲它已經按順序排列,但是,對於「最高」選項卡,它需要按比分排序。然後我將這些數據直接加載到RecyclerView中。

有沒有更有效的方法來加載數據?我目前只有一個小型數據庫,需要一段時間才能加載,特別是在開始時。我現在唯一的想法是使用Firebase的limitTo方法,但是,它不適用於「頂級」帖子選項卡,因爲它需要所有數據才能使用。

謝謝!

回答

1

您沒有發佈您的代碼,所以我不能對此發表評論。但是根據你所描述的,你使用的方法確實是最有效的方法。

從我自己的經驗來看,我可以保證Firebase速度非常快。不過,您在開始時遇到的延遲是因爲Firebase需要在開始時與數據庫建立連接。建立連接後,即時更新和下載(僅限於您正在編輯的數據量和網絡質量)。您可以考慮的一件事是啓用離線持久性,以便應用程序啓動時應用程序的用戶不會顯示空白屏幕。你可以閱讀更多關於它here

+0

現在想一想,你說得對。緩慢加載時間僅在第一次加載期間發生。感謝您的信息。我現在要讀一下它。我的數據庫目前只包含20個帖子。但是,你認爲我現在的設計模式能夠處理和排序數百個帖子嗎? – magicturtle

+1

您應該只加載顯示給用戶的數據。你不會爲用戶顯示數百條帖子,所以你不應該加載它們。如果您需要顯示帖子列表,則可能只顯示標題和其他一些元數據。在這種情況下,請在數據庫中創建一個單獨的「列表數據」列表並加載該列表。 –

+0

我真的不能用這個小小的信息來說明你的數據結構選擇。但是,只要你按照弗蘭克的建議,一切都會順利。 –

相關問題