Я использую для своей службы Android обработчик, который повторяет некоторые операции каждые 60 минут (1 час), с PartialWakeLock, чтобы телефон не спал.Но это приводит к большому расходу батареи.
Поэтому решили изучить AlarmManager (я нуб), что кто-то написал здесь , чтобы быть идеальным для такого рода вещей ..
Но теперь, читая в Интернете, я обнаружил, что, кто использует AlarmManager, все еще нужен WakeLock.Это правда?
Каков наилучший способ запустить цикл каждые 60 минут (1 час), не убивая батарею?
Спасибо
PS
AlarmManager Android Developer
Диспетчер аварийных сигналов удерживает активную блокировку процессора , пока выполняется метод onReceive () приемника аварийных сигналов.Это гарантирует, что телефон не будет спать, пока вы не закончили обработку трансляции.Как только onReceive () возвращается, диспетчер тревог снимает эту пробужденную блокировку.Это означает, что телефон в некоторых случаях будет спать, как только ваш метод onReceive () завершится.Если ваш приемник тревоги называется Context.startService (), возможно, что телефон будет находиться в спящем режиме до запуска запрошенной службы.Чтобы предотвратить это, вашему BroadcastReceiver и Service потребуется реализовать отдельную политику блокировки пробуждения, чтобы телефон продолжал работать до тех пор, пока служба не станет доступной.
Но, похоже, янужно 2 wakelock против всего 1 wakelock с использованием обработчика .... это правда?