Я пишу приложение для Android, которое будет подключаться к веб-сервису REST / JSON. Пользователи будут получать информацию, загружать комментарии, загружать и выгружать изображения и т. Д.
Я знаю, что мне не следует сохранять всю эту сетевую связь в потоке Activity / UI, поскольку это вызовет ANR. Что меня смущает, так это то, следует ли мне использовать для этого AsyncTask или службу с «ручным» потоком;
С помощью службы я просто имел бы общедоступный метод для каждого метода в API веб-службы. Затем я бы реализовал потоки в каждом из этих методов.
Если бы я использовал AsyncTask, я бы создал вспомогательный класс, который определил бы AsyncTasks для каждого метода в API веб-сервиса.
Какой метод предпочтительнее? Взаимодействие с веб-сервисом будет происходить только тогда, когда пользователь находится в Activity. Когда они переключаются на другое приложение или выходят из программы, связь с веб-службой отпадает.