Вы должны обязательно использовать AsyncTask.Служба здесь - это большие накладные расходы.
Обычно AsyncTask используется, когда вы делаете мелкие вещи (3-5 секунд), и это нормально, чтобы показать диалог прогресса.Сервисы для длительной обработки фоновых задач.