Экран погас, а приложение продолжает разряжать батарею
Загрузка завершилась с ошибкой, а CPU остался активным. Причиной может быть WakeLock: исключение, ранний return или потерянный callback не дали коду дойти до release(). На подключённом к зарядке телефоне такую утечку легко пропустить.
В разборе freeCodeCamp показаны типичные ошибки и способы их найти. Для ручной блокировки нужны таймаут и освобождение в finally, в том числе при отмене корутины. Самой операции тоже нужен срок выполнения.
Через adb shell dumpsys power можно увидеть текущие блокировки и время их удержания, через batterystats — накопленную статистику. Отложенную синхронизацию стоит сначала примерить к WorkManager: он управляет блокировкой за вас.
Post #4814
862

- 👍 1