Лучшее решение для моей задачи: Thread, AsyncTask или Service?
У меня есть приложение для Android, которое создает и редактирует заявки. Все данные будут храниться на моем сервере.
Проблема в том, что приложение должно регулярно получать информацию с сервера о существовании некоторых записей, генерируя запросы. Интервал времени между запросами к серверу должен составлять около 30 секунд.
1) Не могли бы вы посоветовать, как лучше всего решить эту проблему? Может быть, есть лучший вариант, который я пропустил?
На данный момент я рассматриваю следующие варианты на выбор:
- Нить
- AsyncTask
- обслуживание
2) Для Службы, я должен использовать это в главном потоке или поместить это в другой?
3) Также, насколько мне известно, Thread или AsyncTask воссоздаются с помощью Activity, когда пользователь поворачивает телефон. Может быть, я могу использовать библиотеку Moxy с AsyncTask вместо того, чтобы беспокоиться о воссоздании активности?
Заранее спасибо.
2 ответа
Если вам нужно запустить задачу в фоновом режиме, тогда Service - лучший вариант, чем AsyncTask
и если вы хотите запускать свою задачу каждые 30 секунд, то вы можете использовать Alarm Manager, это хорошо для интервальной задачи, но Alarm Manager будет потреблять много батареи.
Существует еще одно лучшее решение для запланированной задачи - JobSchedular.
AlarmManager
/questions/17772111/primer-dispetchera-avarij/17772141#17772141
JobSchedular // Предлагаю
Полный пример планировщика заданий
Я предлагаю вам прочитать и использовать JobSchedular
Я предлагаю вам использовать Сервис, он может продолжать работать в фоновом режиме. и ты каналы порождаешь поток из службы.