【问题标题】:Android http download at very very low priorityAndroid http 下载在非常非常低的优先级
【发布时间】:2016-03-09 18:15:01
【问题描述】:

我的 Android 应用需要在后台进行大量 (~150MB) 下载。我正在使用意图服务并在后台执行此操作。

问题是这个大下载会阻塞所有其他下载。

(我在应用程序中使用 Volley+Glide 进行图像下载,使用 OkHTTP 进行大文件下载。我会使用 Volley 进行所有操作,但由于不建议将它用于大文件,所以我使用的是 okHttp。)

Volley 有一种设置下载优先级的方法,但 AFAIK 仅用于确定下载何时开始,而不是用于确定 d/l 使用的带宽百分比。

我无法找到将 okHTTP 设置为以非常低的优先级下载的方法。

理想情况下,我想做的只是将大型 okHttp 下载设置为非常低的优先级,它会让其他所有内容都下载。

【问题讨论】:

    标签: android http download android-volley okhttp


    【解决方案1】:

    创建一个名为 ThrottledSource 的类,它扩展了 Okio 的 ForwardingSource。此类需要限制每秒千字节数。您可以在 MockWebServer.java 中查看限制流的示例。

    完成后,您将获得一个下载速度比所需速度慢的流。这将为其他传输释放带宽。

    【讨论】:

      【解决方案2】:
      1. 将文件分割成更小的块,例如。分开拉链
      2. 在应用未运行时使用 IntentService 下载文件(使用 JobScheduler)

      【讨论】:

      • 虽然这些是有用的 cmets,但我会将它们归类为解决方法,而不是解决我的问题。
      猜你喜欢
      • 2013-11-01
      • 2013-03-16
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多