Сколько услуг я должен иметь? - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть приложение, которое проверяет положение GPS и взаимодействует с четырьмя веб-сайтами. Я думаю об использовании задач ASync в Сервисе. Результат от каждого веб-сайта не зависит от любого другого веб-сайта.

Поскольку поиск местоположения и взаимодействие с каждым веб-сайтом займет разное время, означает ли это, что у меня должно быть пять служб? Или все это должно быть объединено в один сервис?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2016

Вам не нужны дополнительные услуги.Проблема, как я понимаю, заключается в том, что для завершения каждого HTTP-вызова может потребоваться много времени, что замедлит весь процесс, и у вас будет слишком много ASynkTasks.Затем Google уже решил эту проблему для вас.

Вместо использования ASyncTasks вы можете использовать Volley и отправлять все ваши запросы на веб-сайты параллельно.Таким образом, Volley будет обрабатывать ваши запросы в разных темах и держать все в порядке.В качестве бонуса он НАМНОГО быстрее , чем ASyncTask.

0 голосов
/ 17 февраля 2011

Вам нужно позвонить в другие 4 службы после получения исправления GPS.Вы можете создавать новые экземпляры каждого AsyncTask, работающего параллельно.Я не вижу необходимости пользоваться услугой.Я использую один объект httpClient, хранящийся в классе приложения, для всех веб-запросов.

...