2016-07-22 53 views
2

我正在使用onChildEventListener來檢索10'000個孩子。
完成操作所用的時間約爲5秒。
在此期間,應用程序凍結。
有沒有辦法讓它更快?
此外,我試圖使用ValueEventListener,發現通過兒童騎自行車更快。無論如何,這不是一個可靠的解決方案,所以我切換回onChildEventListener。Firebase onChildEventListener slow

回答

1

無論您使用ValueEventListener還是ChildEventListener,數據檢索過程都完全相同。唯一的區別在於如何在您的應用中觸發事件/回調。另外:數據庫的所有網絡活動都發生在一個單獨的線程上。

這意味着它不是檢索凍結您的應用程序的數據,而更可能是您處理回調中的數據的方式。如果你在那裏做了實質性的工作,你會想在主線程中這樣做。

+0

謝謝你的迴應。實際上有兩件事導致了緩慢。 我在onChildAdded()內多次使用dataSnapshot.getValue(),並且我爲每個添加的子項都使用了notifyDataSetChanged()。 我現在面臨的問題是,我需要更新所有的孩子已經retrived的用戶界面。無論如何,似乎沒有建立在Firebase中的方法知道什麼時候發生。 –