是否可以为Android中的HttpUrlConnection设置下载速度限制?
我的应用显示数据。从Web服务器检索数据。 从Web服务器加载有两种类型的数据,以便在我的应用中显示它们: - 小文件(约1 MB) - 大文件(约100 MB)
问题是: 当我开始下载一个大文件,大约100 MB,可能需要大约5分钟, 在此期间我的应用程序几乎无法使用。
典型情况是: 用户点击一个大文件 - >大文件在后台下载。 在此期间,用户想要显示另一个小文件(1 MB,从服务器加载它需要几秒钟)。但问题是,第一个下载(加载大文件)使用整个bandwith,因此下载小文件大约需要2分钟(而不是几秒钟)。
所以我想为大文件设置一个speet限制(例如带宽的一半等)或者为下载实现一些优先级队列......
如何设置下载限制?
答案 0 :(得分:1)
如果你正在开发API级别9以上,我会做的就是使用下一个评论者建议的DownloadManager。问题在于,下载显示在通知栏中,您可能不希望这样。
据我所知,使用Android使用的HttpClient无法限制特定下载的带宽。但我猜你是使用每个文件的AsyncTask下载文件,并且AsyncTasks是串行执行的,因此可以解释为什么第二个文件没有开始下载。
我强烈建议您查看适用于此类后台下载的RoboSpice。我很确定你也可以同时下载多个文件。