Работает ли Handler.sendMessageDelayed (), когда телефон переходит в спящий режим? - PullRequest
4 голосов
/ 27 января 2012

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

  1. Если я отпущу wakeLock, и никакое другое приложение не будет удерживать wakeLock после того, сколько времени телефон перейдет в спящий режим?

  2. У меня работает несколько HandlerThreads, где я использую функцию sendMessageDelayed (). Будут ли доставлены эти сообщения даже после того, как телефон перейдет в спящий режим?

  3. Сохраняет ли телефон в режиме полета больше энергии, чем просто переводит телефон в спящий режим. если да, то почему, потому что единственное различие в этих двух режимах - использование сотовой сети.

1 Ответ

3 голосов
/ 27 января 2012

Если я отпускаю wakeLock, и никакое другое приложение не удерживает wakeLock после того, сколько времени телефон переходит в режим сна?

Ответа действительно нет, но от личногоопыт, я бы сказал, вполне вероятно, что это произойдет в течение 30 секунд до 1 минуты.

У меня работает несколько HandlerThreads, где я использую функцию sendMessageDelayed ().Будут ли доставлены эти сообщения даже после того, как телефон перейдет в спящий режим?

Я действительно не рассчитывал бы на это, потому что я никогда не видел ничего, что говорит о том, что оно разбудит устройство для отправки указанного сообщения,Вы всегда можете протестировать его, но я бы не стал доверять его работе, поскольку в документации не утверждается, что он будет работать.

Экономит ли заряд аккумулятора больше времени, чем просто положить телефон в режим ожидания?спать.если да, то почему, потому что единственное различие в этих двух режимах - использование сотовой сети.

Если вы переведете его в спящий режим и в режим полета, то вы сэкономите больше батареи, чем просторежим сна.

Причиной этого является то, что, даже если процессор почти спит, телефон должен поддерживать постоянное соединение с сотовой сетью, чтобы узнать, получаете ли вы текстовый или телефонный звонок.Чтобы сделать это, он должен использовать батарею, чтобы постоянно держать антенну включенной.Если перевести его в режим полета, антенна отключится, и телефон не будет использовать батарею для этой функции.

...