Что такое * режим ожидания сотового телефона * и как я могу предотвратить заряд батареи?

70

Просматривая статистику батареи, я почти всегда нахожусь в режиме ожидания Cell среди самых популярных потребителей:

Статистика батареи

Я никогда не думал, что "простоя" будет использовать столько энергии. Я видел, что другие люди сталкиваются с похожими проблемами:

Ответы на эти вопросы просто дают некоторые сырые идеи. Я хотел бы знать, что именно стоит за этим, есть ли способы не дать этому «резерву» съесть мою батарею?

Иззи
источник
Эти проценты не следует сравнивать время от времени; Вы должны использовать их только в качестве ориентира для относительного потребления энергии. Имейте в виду, что 100% использования батареи не всегда одинаковы. В качестве примера, предположим, что в режиме ожидания ячейки потребляется 10 МВт, на дисплее - 50 МВт, а в других случаях - 40 МВт. В этом случае ваше общее использование составит 100 мВт, а в режиме ожидания ячейки будет потребляться 10%. Если вы выключите дисплей, ничего не меняя, время ожидания ячейки все равно будет 10 мВт, но будет отображаться как 20%, поскольку ваше общее потребление сейчас составляет всего 50 мВт.
TomG
Я знаю об этом, Том. Но мой «шаблон использования» в принципе сопоставим, и, по крайней мере, это дает представление. Хотелось бы, чтобы они дополнительно предоставили здесь абсолютные значения.
Иззи
Я сталкиваюсь с той же проблемой. Что заставило вас решить это? Приложение Tasker управляет этим автоматически и решает проблему?
Юва Радж

Ответы:

104

Сотовый сигнал

Некоторые предпосылки, как объясняет ce4 в вопросе: «плохой» прием разряжает батарею быстрее? :

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

Если прием плохой, уровень сигнала должен быть соответствующим образом отрегулирован.

Вот что действительно стоит за этим: при плохом приеме устройство тратит много энергии, чтобы найти лучший / более сильный сигнал (или любой сигнал вообще, если он потерян). На следующем скриншоте 1 четко показаны те моменты, когда вы смотрите на полосу под названием « Сигнал телефона» .

Детали статистики батареи: сигнал телефона

«Чем зеленее, тем чище»: ярко-зеленый означает «хороший прием» (скриншот показывает это в начале и в конце, то есть здесь: утром и вечером - поэтому дома у меня хороший прием). Становится желтоватым: «Умеренный прием». Это использует больше энергии: сравните его с графиком сверху (не на скриншоте - но так же, как на первом скриншоте), и вы увидите, что полоса почти плоская, где сигнал ячейки хороший - но падает быстрее где это не так. Смотрите маленькие красные пятна: «нет приема». И телефон включится как сумасшедший, чтобы найти новую сотовую вышку ...

Как узнать, где находятся мертвые зоны?

Я уже показал в своем ответе на «плохой» прием разряжает батарею быстрее? как можно узнать о тех «мертвых зонах» и где они находятся:

Такие приложения, как No Signal Alert 2 и OpenSignalMaps 3, отслеживают сигнал ячейки в фоновом режиме и записывают эти области, чтобы они могли показать вам карту расположения мертвых зон. OpenSignalMaps имеет то преимущество , что показывает вам все доступные сотовые вышки, указывая на то, к чему вы подключены. Он также предлагает вам «компас», указывающий направление для самого сильного сигнала.

NoSignalAlert OpenSignalMaps

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

Как автоматически бороться с этими мертвыми зонами для экономии энергии?

Приложения для автоматизации режима полета

Я достиг довольно хороших результатов с двумя приложениями: Autopilot 4 и NoBars Battery Saver 5 . Обе контролируют сигнал ячейки и, когда он падает далеко, переключаются в режим полета в течение предварительно определенного времени. Пользователь может определить, как долго это будет. По истечении этого времени режим полета отключается, и контроль за ячейкой вступает во владение.

Автопилот NoBars Battery Saver

На втором графике моего вопроса это проявляется в виде «пробелов» на панели сигналов телефона : поскольку сотовая радиосвязь была отключена в режиме полета, цвета не отображаются; система ничего не знала о силе сигнала в этот период времени. И с выключенным сотовым радио, оно также не использовало дополнительную мощность (точнее, тогда оно не использовало никакой энергии для этого радио) - что было именно тем, что предполагалось.

С автопилотом единственным раздражающим побочным эффектом было: при каждой проверке сигнала он мигал на дисплее около секунды. Помимо этого, он дает больше возможностей для настройки пользователем. Однако, поскольку результаты обоих приложений абсолютно сопоставимы, эти дополнительные параметры кажутся не очень необходимыми, хотя их приятно иметь. Еще одним плюсом Autopilot является журнал, предоставляемый пользователю: таким образом вы можете видеть точное время переключения режимов.

Приложения для обработки данных сети

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

ShutUpBatterySaver ShutUpBatterySaver Уведомления

Однако он никогда не активирует (или деактивирует) режим полета, поэтому мощность, используемая для получения (лучшего) сигнала, останется неизменной. Тем не менее, при плохом сигнале для передачи данных используется больше энергии, чем при хорошем сигнале, например, потеря пакета может быть больше. В строке состояния я несколько раз видел, что у него отключена AutoSync 7 , так что, похоже, работает. Не будучи пользователем данных с большим объемом данных (как показывает статистика LBE на том же снимке экрана), я не мог точно сказать, какую помощь это принесло: по сравнению с двумя вышеупомянутыми приложениями для работы в режиме полета, результаты с точки зрения увеличения времени работы от батареи были минимальными (если есть).

Комбинированное решение

Вероятно, это дало бы лучшие результаты, чтобы объединить два подхода. Поскольку у меня не было настроения проверять все возможные комбинации, я скорее выбрал всемогущее 6-буквенное решение: ТАСКЕР.

Как многие из вас, вероятно, знают, Tasker - это решение для автоматизации на Android. Полагаю, он мог бы даже приготовить кофе, если бы в наших устройствах были датчики для обнаружения кофе и воды. Поэтому я создал несколько профилей для этого замечательного приложения - и результаты были великолепны!

Профили Tasker Уведомления Tasker

Таким образом, в основном это 3 профиля, которые общаются через общую переменную:

  1. % SIGSTATE <1: проверьте, падает ли сигнал ниже ~ 25%. Если это так, отключите мобильные данные, установите% SIGSTATE в 1.
  2. % SIGSTATE <2: проверьте, падает ли сигнал ниже ~ 15%. Если это так, переключитесь в режим полета, установите% SIGSTATE на 2.
  3. % SIGSTATE> 0: подождите 5 минут, затем отключите режим полета, активируйте мобильные данные, подождите еще 15 секунд (для восстановления сигнала), установите% SIGSTATE на 0.

В моем глобальном профиле Init (который выполняется, когда Tasker начинает мониторинг),% SIGSTATE установлен в 0 (если он не установлен). Все 3 вышеуказанных профиля дополнительно устанавливают уведомления, так как на скриншоте выше показано 9 . Каждое состояние поддерживает одно уведомление (которое заменяется, когда повторяется одно и то же состояние), наиболее актуальное состояние всегда находится внизу.

Результаты казались даже лучше, чем с двумя вышеупомянутыми приложениями для работы в режиме полета, но это также может быть связано с немного отличающимися условиями сигнала. Так что должно быть хотя бы сопоставимо. Используя одно из этих трех решений, я вернулся домой примерно через 11 часов, оставив заряд примерно на 20% больше, чем без применения какого-либо из них.

Сказав это, я закончу этот ответ, показывая созданные мной профили Tasker , так что вы можете использовать их при установке Tasker :

Задача "InitVars":

  • Переменная -> Набор переменных:% SIGSTATE = 0

Задача "SigLow":

  • Сеть -> Мобильные данные: выкл.
  • Переменная -> Набор переменных:% SIGSTATE = 1
  • Alert -> Notify Vibrate: заголовок "IzzySignal"; Текст: «Сигнал низкий; мобильные данные отключены (сигнал:% CELLSIG)»

Задача "SigLost":

  • Переменная -> Набор переменных:% WLANSTATE = 0
  • Переменная -> Набор переменных:% WLANSTATE = 1 IF% Wifi ~ on
  • Сеть -> Режим полета: вкл
  • Сеть -> Wi-Fi: включен, если% WLANSTATE ~ 1
  • Переменная -> Набор переменных:% SIGSTATE = 2
  • Alert -> Notify Vibrate: заголовок «IzzySignal», текст: «Потеря сигнала; вход в режим полета»

Задача "SigReturn":

  • Задача -> Подождите: 5 минут
  • Сеть -> Режим полета: выкл.
  • Задача -> Ожидание: 15 секунд
    (дайте устройству некоторое время, чтобы найти новый сигнал!)
  • Net -> Mobile Data: На IF% ROAM ~ Off
    (! Предотвратить неприятный сюрприз при возвращении из отпуска за границей)
  • Переменная -> Набор переменных:% SIGSTATE = 0
  • Alert -> Notify Vibrate: заголовок "IzzySignal", текст "Сигнал включен; режим полета отключен (сигнал:% CELLSIG)"

Теперь для профилей:

Профиль SigLowCheck:

  • Состояние -> Переменная -> Значение переменной: имя "% SIGSTATE", операция "Математика: меньше чем", значение "1"
  • Состояние -> Телефон -> Уровень сигнала: от 0 до 2
  • Состояние -> Tasker -> Профиль активен: "SigLost", [x] Инвертировать
    (убедитесь, что во избежание конфликта:% SIGSTATE ~ 0 && SignalStrength ~ 1 будет соответствовать условию обоих профилей)
  • Задача: SigLow

Профиль SigLostCheck:

  • Состояние -> Переменная -> Значение переменной: имя "% SIGSTATE", операционная система "Математика: меньше чем", значение "2"
  • Состояние -> Телефон -> Уровень сигнала: от 0 до 1
  • Задача: SigLost

Профиль SigReturnCheck:

  • Состояние -> Переменная -> Значение переменной: имя "% SIGSTATE", операционная система "Math: Greater Than", значение "0"
  • Задача: SigReturn

Профиль Init:

  • Событие -> Tasker -> Запуск монитора
  • Задача: InitVars

Теперь это просто базовая концепция, и ее можно расширить, например, воспроизведением звуков, вибрацией, миганием дисплея и многим другим. Но энергосберегающие устройства уже работают - и выполняют свою работу, как описано. Надеюсь, это поможет и вам!

Еще одно замечание: по крайней мере с GSM (я не могу сказать, для CDMA), возвращение из режима полета по умолчанию заставляет вас вводить PIN-код SIM-карты. Это, конечно, можно отключить, но в этом случае эта дополнительная защита также исчезает при включении телефона. Понятия не имею, почему это невозможно выборочно, как это было с моими телефонами до Android.

Однако для некоторых телефонов есть альтернатива некоторым элементам в вышеуказанных задачах, которые снимают это ограничение:

  • В SigLost вместо Net -> Airplane Mode: On используйте Phone -> Radio: Off, если ваш телефон поддерживает это (мой Droid2 / Milestone2 нет, к сожалению). Если вы можете сделать это, проверка WiFi устареет (и ваш очиститель задач).
  • В этом случае также необходимо изменить контрреакцию в SigReturn : вместо Net -> Airplane Mode: Off , используйте Phone -> Radio: On .

Пожалуйста, дайте мне знать в комментариях, если это снимает ограничение PIN-кода SIM-карты, поскольку я не могу проверить его (мое устройство не поддерживает его, как описано выше).

Отредактировано t0mm13b

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

Иззи
источник
14
Это должно выиграть приз за самый вдумчивый, полезный и подробный ответ.
offby1
8
Спасибо! У меня ушло около недели, чтобы собрать всю статистику, протестировать все решения, а также отделить хорошие от, хм, не очень хорошие;)
Иззи
1
Хехе - спасибо @ t0mm13b за обновление. Подсказка: текущее состояние всегда является «последним» (дальше, чем остальные). Таким образом, с различными названиями вы добавляете немного «журнала». Но интересное открытие, что название - то, что заставляет уведомление быть замененным - спасибо за это!
Иззи
1
Так как Tasker не имеет дело со значениями dbm напрямую, я не стал углубляться в них. Вы можете наблюдать это некоторое время (или отслеживать, например, с помощью RF Signal Tracker ), чтобы найти подходящие значения. Из моего мониторинга с этим приложением я согласен с -113dbm, означающим «out», тогда полезного сигнала нет. Таким образом, вы могли бы начать с -110 = SigLost, -100 = SigLow, лучше = ОК - и оттуда играть со значениями, пока вы не будете удовлетворены. Я был бы признателен, чтобы прочитать ваши результаты (значения) здесь тогда :)
Иззи
1
Магическое значение кажется -105 дБм. Все, что выше, представлено силой сигнала в 2 бара, -105 дБм, а все, что ниже, составляет один бар или меньше. Это относится и к Samsung Galaxy S2 i9100.
FuzzyQ