0

是否可以在 Android 中为 HttpUrlConnection 设置下载速度限制?

我的应用程序显示数据。数据是从 Web 服务器检索的。从 Web 服务器加载两种类型的数据以在我的应用程序中显示它们: - 小文件(约 1 MB) - 大文件(约 100 MB)

问题是:当我开始下载一个大约 100 MB 并且可能需要大约 5 分钟的大文件时,我的应用程序几乎无法使用。

一个典型的场景是:用户点击一个大文件-->后台下载大文件。与此同时,用户想要显示另一个小文件(1 MB,从服务器加载大约需要几秒钟)。但问题是,第一次下载(加载大文件)使用了整个带宽,因此下载小文件大约需要 2 分钟(而不是几秒钟)。

所以我想为大文件设置一个 speet 限制(例如一半的带宽等)或为下载实现一些优先级队列......

如何设置下载限制?

4

1 回答 1

1

如果您正在为 API 级别 9+ 进行开发,我会按照之前评论者的建议使用 DownloadManager。问题在于通知栏中会显示下载,而您可能不希望这样。

据我所知,没有办法使用与 Android 一起使用的 HttpClient 来限制特定下载的带宽。但我猜你正在使用每个文件的 AsyncTask 下载文件,并且 AsyncTasks 是串行执行的,因此这可能解释了为什么第二个文件没有开始下载。

我强烈建议查看RoboSpice,它非常适合这种类型的后台下载。我很确定您也可以一次下载多个文件。

于 2013-02-08T16:48:44.263 回答