Выполнить долгосрочную задачу, используя обработчик

Я использую обработчик в действии, чтобы запустить задачу каждую секунду. когда приложение переходит в фоновый режим. Я запускаю сервис в качестве переднего плана, который берет время из локального хранилища. после долгого времени (когда приложение находится в фоновом режиме) эта задача, которую я запустил в действии, кажется, не выполняется, так как продолжительность не обновляется в пользовательском интерфейсе, я использую Active-Android в качестве ORM для сохранения данных в локальном хранилище. Пожалуйста, предложите любую работу по преодолению такой ситуации. Я опубликую код, если потребуется, любая помощь приветствуется.

1 ответ

Я очень рекомендую изменить дизайн вашего приложения, Activity не допускайте выполнения какой-либо работы, не относящейся к пользовательскому интерфейсу, прикрепленному к нему.
В текущем состоянии пользователь создает новый поток из вашей активности, и когда платформе Android требуются дополнительные ресурсы (могут быть часы после того, как активность больше не видна), это убивает активность, и это является причиной того, почему пользовательский интерфейс не выглядит как обновлено.

Мое решение
Создать фон service выполнить операцию "обновлять каждую X секунду" и привязать свою активность к ней, когда она станет видимой.
1. Как создать связанный сервис
2. Что такое жизненный цикл деятельности

Другие вопросы по тегам