簡體   English   中英

Android網絡響應時間滯后

[英]Android time lag in network response

我正在從兩個不同的網絡調用中獲取一個數據庫的數據。 一個響應需要5秒,而另一個響應則需要15秒。 現在的條件是,只有在兩個網絡調用中在我的內存中准備好整個數據集之后,我才能向用戶顯示數據。 因此,1)我該如何處理這個(15-5 = 10秒)的時間滯后? 2)我必須同時向用戶顯示一些數據。 在內存中准備好整個數據集之前,我不能將它們留空。

從UX的角度來看-說應該早點向用戶顯示一些數據是絕對正確的。 加載第一個請求后,應立即在結果列表中填充一些數據,並在第二個請求解決后再填充其他數據。 一定要在加載過程中顯示加載指示器! 在《 材料設計指南》中有很好的進度指示器說明。

我只是注意到您用retrofitrx-java標簽標記了這個問題。 使用這些,很容易等待兩個請求完成並編寫隨后將執行的代碼。 您可以使用RxJava zip方法 Zip將采用多個Observable,並且:

“返回一個將您選擇的功能應用於兩個(或多個)其他Observable依次發出的項組合的Observable,此函數的結果將成為返回的Observable發出的項。”

假設您有兩個基本的可觀察對象(兩個請求中的每個對象),在對每個對象進行觀察時,您都填充了數據集(可能是RecyclerView的adapter ?? ),並且在兩個對象都完成之后(zip的可觀察對象),您隱藏了進度加載指示符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM