2012-11-12 3 views
1

저는 새로운 Android 개발자이며 내 앱에서 다음 작업을 수행하려고합니다.Android 앱 동시 다운로드 (활동 중)

주어진 URL에 대해 HTML을 가져 와서 HTML 소스의 이미지를 파싱하고 동시에 다운로드 할 수 있습니다 (병렬로 2-3 개의 스레드 일 수 있음). 내 활동의 비동기 작업에서 실제 HTML/URL 다운로드를하고 있습니다. 그 후 HTML을 구문 분석하고 이미지 URL 목록을 얻습니다. 이 시점에서, 여러 스레드가 이러한 이미지 URL을 반복하여 다운로드하도록하는 가장 좋은 방법은 무엇입니까? 제안하거나 사례를 제공해주십시오. 여러 스레드 및 'Looper'차단 대기열을 찾으려고했지만 여전히 이것을 달성하는 방법에 혼란스러워.

감사합니다.

답변

1

당신은 probely가 AsyncTask을 사용하지만 Javas Threads를 피할 것입니다. 왜냐하면 안드로이드 OS가 현재 보이는 Activity를 가지 자마자 곧바로 종료 할 수 있기 때문입니다. 한 번에 여러 작업을 스핀 업하지 마십시오. 다운로드 프로세스가 빨라집니다. 대신

+0

자바'Thread's가 자동으로 작업이 숨겨진 경우 어떤 방식으로 종료되지 않습니다. AsyncTask는 AsyncTask와 같은 방식으로 동작합니다. 특히 AsyncTask는 후드에서 단지'Thread'이므로 (또는 기술적으로'ThreadPoolExecutor'에 의해 실행되는'FutureTask'는 [sourcecodes] (https : //android.googlesource)를 참조하십시오. .com/platform/frameworks/base/+/refs/head/master/core/java/안드로이드/os/AsyncTask.java). 나는 또한 2 또는 3 개의 병렬 다운로드 작업이 속도를 높이는 지 테스트 할 것을 고려할 것이다. 특히 둘 이상의 서버에서 다운로드하는 경우에는 불가능하지 않습니다. – zapl