2013-02-08 2 views
0

는 안드로이드에서 HttpURLConnection의의 다운로드 속도 제한을 설정할 수 있습니다?안드로이드 : 설정 HttpURLConnection의 속도 제한

내 응용 프로그램 데이터를 표시합니다. 데이터는 웹 서버에서 검색됩니다. 내 응용 프로그램에서 그들을 표시하기 위해 웹 서버에서로드되는 데이터의 두 가지 유형이 있습니다 : - 작은 파일 (약 1 MB) - 큰 파일 (약 100 MB)

문제는 다음과 같습니다 언제 약 100 MB입니다 약 5 분 정도 걸릴 수도 큰 파일을 downlaod 시작, 내 응용 프로그램은 그 동안 거의 unuseable입니다.

일반적인 시나리오는 다음과 같습니다 큰 파일에 사용자 킬로은 -> 큰 파일은 백그라운드에서 다운로드됩니다. 그동안 사용자는 다른 작은 파일을 표시하려고합니다 (1MB, 서버에서로드하는 데 약 1 초가 걸립니다). 그러나 문제는 첫 번째 다운로드 (큰 파일로드)가 전체 대역폭을 사용하므로 작은 파일을 다운로드하는 데 약 2 분이 걸리는 것입니다 (몇 초가 아닌).

그래서 나는 큰 파일에 대한 speet 제한을 설정하고 싶은 나는 다운로드 제한을 설정하려면 어떻게

... 또는 다운로드에 대한 몇 가지 우선 순위 큐를 구현하는 (예를 상기 대역폭 등의 절반)?

+1

당신이 SDK는 => 9 다음은 [DownloadManager] (http://developer.android.com/reference/android/app/DownloadManager.html) API를 사용해야합니다 사용하는 경우 – tolgap

답변

1

내가 무엇을 할 것은 9 + 이전의 주석이 제안은 API 수준에 대한 개발하는 경우 하나의 DownloadManager를 사용합니다. 이 문제는 다운로드가 알림 표시 줄에 표시되고 사용자가 원하지 않을 수 있다는 것입니다.

는 최대한 멀리 볼 수 안드로이드에 사용되는 HttpClient를을 사용하여 특정 다운로드에 대역폭을 제한 할 수있는 방법이 없습니다. 하지만 당신은 파일 당 AsyncTask를 사용하여 파일을 다운로드하고, AsyncTasks는 직렬 때문에 2 파일 다운로드가 시작되지 않는 이유를 설명 할 수가 실행되는 추측하고있다.

나는 강하게 배경 다운로드의이 유형에 적합 RoboSpice 보는 것이 좋습니다. 나는 한 번에 여러 파일을 다운로드 할 수있을 것이라고 확신합니다.