什么是DownloadManager和排球的使用场景

时间:2017-09-28 08:07:44

标签: android android-volley android-download-manager androidhttpclient

android training说:

  

Volley不适合大型下载或流媒体操作,因为Volley在解析期间将所有响应保存在内存中。对于大型下载操作,请考虑使用类似DownloadManager的替代方法。

我只是想知道使用Volley或DownloadManager的门槛是什么?

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

使用Volley和DownloadManager的典型案例是什么?

1 个答案:

答案 0 :(得分:0)

嗯,这完全取决于您的用户案例,假设您有一个API,可以从您的数据库返回用户的个人资料,格式化并为您创建PDF。虽然您也可以使用Volley,但最好使用SystemService DownloadManager,它完全在后台执行下载操作,并为您提供下载文件的回调。

虽然没有这样的阈值,但考虑到这种方式,如果您希望下载某事,请使用DownloadManager。有些用例DownloadManager也不能有效,假设您从服务器请求JSON并使用DownloadManager而不是Volley请求,则获取paritcular json完全在后台并发回给你,虽然这可以通过齐射高效地完成,这为在onErrorResponseonResponse方法内处理不同状态提供了支持。

总而言之,您认为所有请求可能会影响当前UI的UI,并且不超过应用程序在运行时获得的平均堆内存(大约20-40MB),并且需要立即回调使用Volley完成。其他操作不会影响当前的UI,可能是一个完整的后台操作(即使文件大小只有500KB)而不需要立即回调,应该使用DownloadMaanger

希望这会有所帮助。