2013-02-08 175 views
0

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

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

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

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

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

如何设置了下载限制?

+1

如果您使用SDK => 9,那么您应该使用[DownloadManager](http://developer.android.com/reference/android/app/DownloadManager.html)API – tolgap 2013-02-08 16:31:58

回答

1

如果您正在开发API级别9+,我会做的是使用DownloadManager作为前面的评论者建议的。麻烦的是,这是通知栏中显示的下载,你可能不想要。

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

我强烈建议看看RoboSpice这是完美的这种类型的后台下载。我很确定你可以一次下载多个文件。