我的Android应用需要在后台进行大量(~150MB)的下载。我正在使用意向服务并在后台执行此操作。
问题是这个大的下载阻塞了所有其他下载。
(我在应用程序中使用Volley + Glide进行图像下载,使用OkHTTP进行大文件下载。我会将Volley用于所有内容,但由于不推荐用于大型文件,我和#39 ; m使用okHttp。)
Volley有一种设置下载优先级的方法,但是AFAIK,它只用于确定下载何时开始,而不是用于d / l使用的带宽百分比。
我无法找到一种方法来设置okHTTP以非常低的优先级下载。
理想情况下,我想要做的只是将大型okHttp下载设置为非常低的优先级,并且它会让其他所有内容下载。
答案 0 :(得分:1)
创建一个名为ThrottledSource
的类,它扩展了Okio的ForwardingSource。这个类需要限制每秒千字节数。您可以在MockWebServer.java中看到限制流的示例。
当你完成后,你将拥有一个下载速度低于它所需的流。这将为其他转移释放带宽。
答案 1 :(得分:0)