的android training說:什麼是下載管理器的使用場景和凌空
排球是不適合大型下載或流操作,因爲排球在分析過程中在內存中保存所有響應。對於大型下載操作,請考慮使用類似DownloadManager的替代方法。
我只是想知道什麼是使用Volley或DownloadManager的閾值?
如何判斷一個下載的是一個大的下載?
什麼是用排球和下載管理器的典型案例?
的android training說:什麼是下載管理器的使用場景和凌空
排球是不適合大型下載或流操作,因爲排球在分析過程中在內存中保存所有響應。對於大型下載操作,請考慮使用類似DownloadManager的替代方法。
我只是想知道什麼是使用Volley或DownloadManager的閾值?
如何判斷一個下載的是一個大的下載?
什麼是用排球和下載管理器的典型案例?
那麼它完全取決於用戶的情況下作出決定,想象你已經返回用戶的個人資料從您的數據庫,對其進行格式化併爲您創建一個PDF的API。雖然你可以使用Volley
這個太,但它更好地與一個SystemService
像DownloadManager
這完全不會在後臺下載操作,併爲您提供了下載的文件回調完成。
雖然沒有閾值本身,而是認爲這樣一來,如果你想下載東西,使用DownloadManager
。有使用情況下,一個DownloadManager
不能有效過,想像你正在從服務器請求一個JSON和使用DownloadManager
代替Volley
請求,paritcular JSON是在後臺完全取出,並送還給你,但是這個可能使用齊射非常有效地完成,從而支持處理onErrorResponse
和onResponse
方法中的不同狀態。
因此,總結一下,當前所有可能影響UI的請求都不會超過應用程序在運行時獲得的平均堆內存(大約20-40MB),並且需要即時回調使用Volley
完成。否則,對於不影響當前UI的操作並且可能是完整的後臺操作(即使文件大小僅爲500KB)而不需要瞬時回調,應該使用DownloadMaanger
希望這會有所幫助。
如果我想從雲下載jsonArray或JSON的列表,並且json數據完全超過20MB或40MB以上,我應該使用哪一個?順便說一句,這些json數據應該每10天或更長時間更新一次。 –
到10天,你的意思是你正在使用'JobScheduler'服務或同等服務?如果是的話,你可以使用'DownloadMaanger',只要你不需要立即更新UI。 – MadScientist