什么是下载管理器的使用场景和凌空

问题描述:

android training说:什么是下载管理器的使用场景和凌空

排球是不适合大型下载或流操作,因为排球在分析过程中在内存中保存所有响应。对于大型下载操作,请考虑使用类似DownloadManager的替代方法。

我只是想知道什么是使用Volley或DownloadManager的阈值?

如何判断一个下载的是一个大的下载?

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

那么它完全取决于用户的情况下作出决定,想象你已经返回用户的个人资料从您的数据库,对其进行格式化并为您创建一个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