2014-03-06 2 views
1

AsyncTask에 대한 질문이 있습니다. 10 개의 Json 파일에 대해 인터넷에 10 개의 요청을 열려고하므로이를 읽고 사용자 장치에 저장하십시오.이 파일은 데이터의 차이로 인해 구분되어야합니다. , 포함.단일 AsyncTask 대. 네트워크에서 여러 다른 요청에 대한 여러 AsyncTask

그래서 모든 단일 요청을 단일 AsyncTask에 넣는 것이 좋습니다. 따라서 10 개의 AsyncTask가되거나 하나의 AsyncTask에서이 10 개의 요청을 모두 호출합니까 ?? 과 왜 다른 방법으로 선호합니까? 감사합니다.

+0

한 번에 이륙 할 수있는 AsyncTask의 수에는 제한이 있습니다. 그걸보세요. –

답변

1

하나의 AsyncTask에 넣을 것입니다. Activity에서 회전하거나 사용자가 홈 버튼을 누르면 Activity에서 AsyncTask를 관리하기가 어렵 기 때문에 실제로입니다. onCreate에서 - 귀하의 활동이 파괴되어 다시 생성 될 수 있음을 의미합니다. 이제 어떻게 든 결과를 활동으로보고해야하는 경우 문제가 발생합니다. 하나의 AsyncTask로 훨씬 쉽습니다. 당신의 AsyncTasks이 fire and forget 종류의 경우

, 어쩌면 10 AsyncTasks을 발행하는 것은 늘 그렇게 많이 나쁜, 그러나 당신이 당신의 자신의 집행자를 사용할 수 있습니다, 필요 비 GUI 작업을위한 AsyncTask를 스레드 풀을 차단하지 않으려면 (벌집 이후 AsyncTasks는 직렬화).

1

양식의 문제는 서로 다른 시간에 완료 할 수 있고 프로그래밍을하기보다는 별도의 비동기 작업에 넣기를 원하기 때문에이를 위해 설계된 시스템을 사용하는 것이 가장 좋습니다.

예외적으로 스레드를 대량으로 생성하면 모든 작업 속도가 느려질 수 있습니다. 그러나 10은 그리 큰 문제가 아닙니다. 그래서 IMHO

2

에 한번 당신의 작업

희망이 당신을 도와 병렬화 광장에서 발리 안드로이드 프레임 워크를 사용하는 :) 바퀴를 재발견 할 필요가 없습니다!

+0

앞으로 사용할 계획입니다. – devqmr

+0

스퀘어에서 발리 ??? – Androiderson

+0

정사각형이 아닙니다. – fab