Android:设置HttpUrlConnection速度限制

时间:2013-02-08 16:29:43

标签: android performance http limit

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

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

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

典型情况是: 用户点击一个大文件 - >大文件在后台下载。 在此期间,用户想要显示另一个小文件(1 MB,从服务器加载它需要几秒钟)。但问题是,第一个下载(加载大文件)使用整个bandwith,因此下载小文件大约需要2分钟(而不是几秒钟)。

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

如何设置下载限制?

1 个答案:

答案 0 :(得分:1)

如果你正在开发API级别9以上,我会做的就是使用下一个评论者建议的DownloadManager。问题在于,下载显示在通知栏中,您可能不希望这样。

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

我强烈建议您查看适用于此类后台下载的RoboSpice。我很确定你也可以同时下载多个文件。