Мое приложение должно ежедневно обновлять локальную базу данных, оно выполняет вызовы в общедоступный репозиторий, запрашивая последние добавленные / измененные элементы или элементы, добавленные / измененные с момента последнего обновления базы данных на устройстве. Есть несколько методов, таких как использование: AlarmManager, jobDispatcher, JobScheduler, SynchAdapter, у каждого API есть свои плюсы и минусы: низкое использование процессора (хорошо), оно будит приложение (не идеально), может быть отменено ОС для освобождения ресурсов (Не хорошо).
Как лучше всего обновлять ежедневно, с некоторыми условиями:
-Обновление должно выполняться, даже если приложение закрыто.
-Обновление должно выполняться в течение времени (от 00:00 до 05:00).
-Можно обновить, если устройство подключено через Wi-Fi.
-Заряд батареи выше 50%.
- Не нужно будить устройство.