2011-02-17 4 views
0

GPS 위치를 확인하고 4 개의 웹 사이트와 상호 작용하는 앱이 있습니다. 서비스 내에서 ASync 작업을 사용하려고합니다. 각 웹 사이트의 결과는 다른 웹 사이트에 의존하지 않습니다.얼마나 많은 서비스를 가져야합니까?

위치를 찾고 각 웹 사이트와 상호 작용하는 데 시간이 다르기 때문에 5 가지 서비스가 있어야합니까? 아니면 모두 하나의 서비스로 결합해야합니까?

답변

0

GPS 수정 후 다른 4 가지 서비스를 호출해야합니다. 병렬로 실행되는 각 AsyncTask의 새 인스턴스를 작성할 수 있습니다. 나는 서비스를 사용할 필요가 없다. 모든 웹 요청에 대해 응용 프로그램 클래스에 저장된 하나의 httpClient 객체를 사용합니다.

0

추가 서비스가 필요하지 않습니다. 여기서 이해할 수있는 문제는 각 HTTP 호출이 완료되는 데 오랜 시간이 걸릴 수 있으며 전체 프로세스가 느려지고 ASynkTask가 너무 많다는 것입니다. 그런 다음 Google에서 이미 문제를 해결했습니다.

ASyncTasks를 사용하는 대신 Volley을 사용하고 웹 사이트에 대한 모든 요청을 병렬로 보낼 수 있습니다. 그렇게하면 Volley는 요청을 다른 스레드에서 처리하고 모든 것을 깔끔하게 유지합니다. 보너스로 ASyncTask보다 A LOT faster입니다.

관련 문제