2013-02-08 174 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這是完美的這種類型的後臺下載。我很確定你可以一次下載多個文件。