В выступлении Вирджила Добьянски «Разработка клиентских приложений REST для Android» (ссылка здесь ) он сказал несколько вещей, которые застали меня врасплох.В том числе:
Не запускайте http-запросы в потоках, созданных вашими действиями.Вместо этого, свяжитесь со службой, чтобы сделать их, и сохраните информацию в ContentProvider.Используйте ContentObserver, чтобы получать уведомления об изменениях.
Всегда всегда выполняйте длительные задачи в Сервисе, но никогда в своей Активности.
Остановите службу, когда закончите.
Я понимаю, что он говорил о REST API, но я пытаюсь привести его в соответствие с некоторыми другими идеями.Я имел для приложений.Один из используемых мной API-интерфейсов использует длинный опрос для своего интерфейса чата.Существует цикл HTTP-запросов, большинство из которых будет зависать.
Это означает, что до тех пор, пока приложение не будет убито ОС или пользователь специально не отключил функцию чата, с Сервисом у меня никогда не закончится, и это будетоставайся открытым навсегда.Это кажется менее чем оптимальным.
Короткий вопрос:
Для приложения чата, которое использует длинный опрос для имитации push-запроса и немедленного ответа, все же рекомендуется использовать Сервис для выполнения запросов HTTP, ихранить информацию в ContentProvider?