什么是下载管理器的使用场景和凌空
问题描述:
的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