Энергопотребление

На рисунке представлена архитектура управления энергопотреблением для Sailfish OS.

Аккумуляторная батарея

Приложение на Sailfish OS получает статус аккумулятора и зарядного устройства от устройств электропитания, зарегистрированных в ядре. Когда статус источник электропитания изменяется (зарядка/разрядка, уровень заряда аккумулятора, зарядное устройство подключено/отключено и т. д.), ядро отправляет событие в пользовательское пространство.

Приложение может подключаться к Upower-демону, размещенному на DBus, и выполнять такие операции, как перевод системы в спящий режим, получение событий от источников электропитания, запрос истории событий и статистики и т. д.

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

При определении режима энергопотребления возможна настройка следующих параметров:

  • время и степень заряженности аккумуляторной батареи для активации экономичного режима работы Wi-Fi (PSM);
  • яркость дисплея устройства;
  • закрытие обратных соединений (отключать тип соединения «всегда подключаться», «не синхронизировать почту» и т. д.);
  • использование только 2G вместо 3G/4G.

Также бывают ситуации, когда приложение не должно выключать экран или центральный процессор, например при воспроизведении видеофайлов. В этом случае на уровне ядра Sailfish OS выполняется защита от блокировки (wake locks) и спящего режима.

Пользовательское API для прикладных приложений предоставляется через пакет nemo-keepalive. Использование данного инструмента существенно повлияет на время автономной работы устройства.