0

android training說:什麼是下載管理器的使用場景和凌空

排球是不適合大型下載或流操作,因爲排球在分析過程中在內存中保存所有響應。對於大型下載操作,請考慮使用類似DownloadManager的替代方法。

我只是想知道什麼是使用Volley或DownloadManager的閾值?

如何判斷一個下載的是一個大的下載?

什麼是用排球和下載管理器的典型案例?

回答

0

那麼它完全取決於用戶的情況下作出決定,想象你已經返回用戶的個人資料從您的數據庫,對其進行格式化併爲您創建一個PDF的API。雖然你可以使用Volley這個太,但它更好地與一個SystemServiceDownloadManager這完全不會在後臺下載操作,併爲您提供了下載的文件回調完成。

雖然沒有閾值本身,而是認爲這樣一來,如果你想下載東西,使用DownloadManager。有使用情況下,一個DownloadManager不能有效過,想像你正在從服務器請求一個JSON和使用DownloadManager代替Volley請求,paritcular JSON是在後臺完全取出,並送還給你,但是這個可能使用齊射非常有效地完成,從而支持處理onErrorResponseonResponse方法中的不同狀態。

因此,總結一下,當前所有可能影響UI的請求都不會超過應用程序在運行時獲得的平均堆內存(大約20-40MB),並且需要即時回調使用Volley完成。否則,對於不影響當前UI的操作並且可能是完整的後臺操作(即使文件大小僅爲500KB)而不需要瞬時回調,應該使用DownloadMaanger

希望這會有所幫助。

+0

如果我想從雲下載jsonArray或JSON的列表,並且json數據完全超過20MB或40MB以上,我應該使用哪一個?順便說一句,這些json數據應該每10天或更長時間更新一次。 –

+0

到10天,你的意思是你正在使用'JobScheduler'服務或同等服務?如果是的話,你可以使用'DownloadMaanger',只要你不需要立即更新UI。 – MadScientist