Где найти спящий режим в телефоне что. Спящий режим на телефоне Андроид: как отключить, в том числе полностью? Продолжение доступно только участникам


Christopher Bird

Управление питанием в операционной системе Android - блокировка сна

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

В Android и в других мобильных ОС удалось добиться длительной работы от аккумулятора за счет использования агрессивной модели управления питанием. Через некоторое время после использования телефона его экран отключается, а CPU переходит в режим пониженного потребления электроэнергии. Таким образом, когда телефон не используется, энергия расходуется совсем понемногу. Благодаря такому подходу, телефоны в режиме ожидания могут работать без подзарядки в течение нескольких дней. Диспетчер электропитания Android построен на следующем, вполне логичном принципе: при отключении экрана отключается и CPU.

Но разработчики Android предусмотрели возможность не давать устройствам с этой ОС переходить в спящий режим. В некоторых случаях может потребоваться, чтобы CPU оставался в активном состоянии даже при выключенном экране, или же может понадобиться запретить автоматическое отключение экрана при выполнении определенных задач. Для этой цели разработчики Google* включили так называемые блокировки сна в API PowerManager. Приложения, которым нужно избежать «засыпания» устройства, могут воспользоваться такой блокировкой. Пока в системе есть активная блокировка сна, устройство не сможет «заснуть», то есть перейти в режим ожидания (до снятия блокировки). При использовании блокировок сна важно понимать, что необходимо правильно снимать эти блокировки, когда они не нужны. Иначе аккумулятор устройства быстро сядет: ведь устройство не сможет вернуться в состояние пониженного расхода электроэнергии.

В этой статье описываются некоторые приложения Android, использующие блокировки сна в Android 4.0. В статье также описано приложение «Wakelocks» из набора SDPSamples для демонстрации реализации блокировок сна в коде.

Использование блокировок сна приложениями

В системе Android можно увидеть, какие службы удерживают блокировки сна и не дают системе перейти в один из режимов экономии электроэнергии. Файл file /proc/wakelocks на устройстве содержит список служб и драйверов, использующих блокировки сна. Отслеживая содержимое файла /sys/power/wake_lock (требуется доступ с правами root), можно узнать, есть ли блокировка ресурсов CPU, и какая служба удерживает блокировку wakelock2. Мне удалось зафиксировать несколько случаев использования блокировок на моем смартфоне Galaxy Nexus под управлением Android 4.0:

Таблица: Использование блокировок сна стандартными приложениями Android

Приложения YouTube и Музыка являются хорошими примерами использования блокировок сна на различных уровнях. Приложение YouTube захватывает блокировку сна, когда пользователь просматривает потоковое видео. В течение всего воспроизведения видео экран остается включенным (невзирая на установленные в системе параметры экрана). Но если во время воспроизведения пользователь нажмет кнопку питания, то устройство перейдет в режим сна: экран будет отключен, а воспроизведение звука и видео прекратится. Приложение «Музыка» использует другую блокировку сна при воспроизведении аудио. Параметры экрана не изменяются, поэтому экран устройства отключится согласно настроенным параметрам. Но даже при отключенном экране блокировка сна не даст отключиться CPU, чтобы воспроизведение музыки продолжалось, даже если пользователь нажмет кнопку питания.

Выбор типа блокировки

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

Значение флага CPU Экран Подсветка клавиатуры
PARTIAL_WAKE_LOCK Вкл Выкл Выкл
SCREEN_DIM_WAKE_LOCK Вкл Затемнен Выкл
SCREEN_BRIGHT_WAKE_LOCK Вкл Полная яркость Выкл
FULL_WAKE_LOCK Вкл Полная яркость Полная яркость

Таблица: Из API Android PowerManager.

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

Приложение, использующее блокировку сна, должно запросить особое разрешение для этого. Для этого применяется разрешение android.permission.WAKE_LOCK в файле манифеста приложения. Это означает, что даже при установке пользователем приложения с блокировками сна с помощью Google Play, пользователи получат предупреждение о том, что данное приложение содержит компоненты, которые могут не дать телефону «заснуть». Если требуется запретить затемнение экрана при определенном действии приложения, это можно сделать и способом, для которого не нужно особое разрешение. В WindowManager есть переменная FLAG_KEEP_SCREEN_ON, которую можно задать, если методу View приложения нужно оставить экран во включенном состоянии. Для управления экраном рекомендуется использовать именно такой подход, поскольку его воздействие происходит только внутри приложения. При переключении пользователя к другому приложению WindowManager снимает блокировку сна.

Удержание экрана во включенном состоянии (из набора SDPSamples)

Приложение WakeLock из набора SDPSamples демонстрирует, что приложение может удерживать экран во включенном состоянии с помощью Window Manager, без написания кода блокировки сна. Запустите приложение WakeLock и выберите элемент списка "Win Man Screen On".

Пока в строке состояния кнопки будет текст «Screen is LOCKED», экран будет включен. Если же в строке состояния кнопки будет текст «Screen is UNLOCKED», то через 5 секунд бездействия экран отключится.

В коде это осуществляется функцией screenLockUpdateState() в файле WakeLockActivity.java путем установки и снятия FLAG_KEEP_SCREEN_ON для текущего окна при каждом нажатии кнопки и изменении состояния.

Public void screenLockUpdateState() { if (mIsDisplayLocked) { ... // update display state getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } else { ... // update display state getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } }

Реализация блокировки сна

В приложение WakeLock из набора SDPSamples реализованы блокировки сна различных типов. После запуска приложения WakeLock выбираем один из 4 типов блокировок сна: Power Wake Lock Full, Power Wake Lock Bright, Power Wake Lock Dim и Power Wake Lock Partial. Эти 4 варианта соответствуют 4 флагам блокировок сна, описанным в API PowerManager. Каждый элемент демонстрирует реакцию устройства на попытку отключить экран через 5 секунд.

Отслеживая содержимое файла /sys/power/wake_lock (требуется доступ с правами root), можно увидеть, что после нажатия кнопки питания сохраняется только блокировка сна PARTIAL_WAKE_LOCK . Остальные блокировки сна не дают полностью отключить экран: он продолжает работать с тем или иным уровне яркости.

При написании кода блокировок сна нужно прежде всего запросить разрешение на их использование в манифесте AndroidManifest.xml:

После этого можно создать объект WakeLock, содержащий функции acquire() и release() для управления блокировкой сна. Хороший пример находится в файле WakeLockActivity.java:

Public void onCreate(Bundle savedInstanceState) { ... mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); ... mWakeLock = mPowerManager.newWakeLock(mWakeLockState, "UMSE PowerTest"); if (mWakeLock != null) { mWakeLock.acquire(); ... } } protected void onDestroy() { if (mWakeLock != null) { mWakeLock.release(); mWakeLock = null; } ... }

Заключение

Блокировка сна - это возможность системы Android, позволяющая разработчикам изменять состояние электропитания устройства по умолчанию. Опасность использования блокировок сна в приложениях заключается в преждевременном израсходовании заряда аккумуляторов. Некоторые явные преимущества блокировок сна очевидны в ряде стандартных приложений Google, например, для навигации или для воспроизведения музыки и видео. Каждый разработчик приложений должен самостоятельно принимать решение о том, будет ли применение блокировок сна целесообразным.

Об авторе

Кристофер Берд (Christopher Bird) начал свою карьеру в подразделении Intel SSG в 2007 году и участвует в построении экосистемы устройств с процессорами Atom (телефонов и планшетов)

Справочные материалы

2 LWN – “Wakelocks and the embedded problem”: http://lwn.net/Articles/318611/

Примечания

ИНФОРМАЦИЯ В ДАННОМ ДОКУМЕНТЕ ПРИВЕДЕНА ТОЛЬКО В ОТНОШЕНИИ ПРОДУКТОВ INTEL. ДАННЫЙ ДОКУМЕНТ НЕ ПРЕДОСТАВЛЯЕТ ЯВНОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ЛИЦЕНЗИИ, ЛИШЕНИЯ ПРАВА ВОЗРАЖЕНИЯ ИЛИ ИНЫХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ. КРОМЕ СЛУЧАЕВ, УКАЗАННЫХ В УСЛОВИЯХ И ПРАВИЛАХ ПРОДАЖИ ТАКИХ ПРОДУКТОВ, INTEL НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ И ОТКАЗЫВАЕТСЯ ОТ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ В ОТНОШЕНИИ ПРОДАЖИ И/ИЛИ ИСПОЛЬЗОВАНИЯ СВОИХ ПРОДУКТОВ, ВКЛЮЧАЯ ОТВЕТСТВЕННОСТЬ ИЛИ ГАРАНТИИ ОТНОСИТЕЛЬНО ИХ ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ, ОБЕСПЕЧЕНИЯ ПРИБЫЛИ ИЛИ НАРУШЕНИЯ КАКИХ-ЛИБО ПАТЕНТОВ, АВТОРСКИХ ПРАВ ИЛИ ИНЫХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ.

КРОМЕ СЛУЧАЕВ, СОГЛАСОВАННЫХ INTEL В ПИСЬМЕННОЙ ФОРМЕ, ПРОДУКТЫ INTEL НЕ ПРЕДНАЗНАЧЕНЫ ДЛЯ ИСПОЛЬЗОВАНИЯ В СИТУАЦИЯХ, КОГДА ИХ НЕИСПРАВНОСТЬ МОЖЕТ ПРИВЕСТИ К ТРАВМАМ ИЛИ ЛЕТАЛЬНОМУ ИСХОДУ.

Корпорация Intel оставляет за собой право вносить изменения в технические характеристики и описания своих продуктов без предварительного уведомления. Проектировщики не должны полагаться на отсутствующие характеристики, а также характеристики с пометками «зарезервировано» или «не определено». Эти характеристики резервируются Intel для будущего использования, поэтому отсутствие конфликтов совместимости для них не гарантируется. Информация в данном документе может быть изменена без предварительного уведомления. Не используйте эту информацию в окончательном варианте дизайна.

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

Номерные копии документов, на которые имеются ссылки в данном документе, а также другие материалы Intel можно заказать по телефону 1-800-548-4725 или загрузить по адресу http://www.intel.com/design/literature.htm

Программное обеспечение и нагрузки, использованные в тестах производительности, могли быть оптимизированы для достижения высокой производительности на микропроцессорах Intel. Тесты производительности, такие как SYSmark и MobileMark, проводятся на определенных компьютерных системах, компонентах, программах, операциях и функциях. Любые изменения любого из этих элементов может привести к изменению результатов. При выборе приобретаемых продуктов следует обращаться к другой информации и тестам производительности, в том числе к тестам производительности определенного продукта в сочетании с другими продуктами.

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

Intel® и эмблема Intel являются товарными знаками корпорации Intel в США и в других странах.

© Intel Corporation, 2012. Все права защищены.

*Другие наименования и торговые марки могут быть собственностью третьих лиц.

На всех смартфонах и планшетах под управлением Android задано время, через которое аппарат переходит в спящий режим. Большинство устройств «засыпают» спустя 30 секунд бездействия пользователя. Это время установлено по умолчанию, но не всем его хватает для чтения и просмотра контента. Увеличить его можно в настройках, а чтобы полностью отключить тайм-аут экрана, придется активировать опцию в разделе «Для разработчиков» либо воспользоваться специальным приложением.

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

Дело в том, что подсветка дисплея разряжает батарею смартфона, поэтому существенное увеличение времени, по прошествии которого экран будет гаснуть, уменьшит время работы устройства от одного заряда. Здесь стоит найти «золотую середину» – настроить тайм-аут так, чтобы вам было комфортно пользоваться телефоном, при этом, чтобы аппарат не работал впустую пол часа, если вы забудете нажать кнопку блокировки.

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

Другие инструкции по теме:

Настройка спящего режима на Android

На любом Android-смартфоне тайм-аут экрана можно отрегулировать в настройках. Для этого перейдите в раздел «Экран», на новых версиях Android нажмите «Дополнительно» и откройте «Спящий режим».

В MIUI на Xiaomi пункт «Спящий режим» расположен в разделе «Блокировка и защита».

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

На стоковом Android нельзя полностью отключить тайм-аут (максимальное значение, которое можно установить – 30 минут). Зато такая опция присутствует в прошивках, например: в MIUI на смартфонах Xiaomi и в EMUI на телефонах Huawei и Honor.

Но в разделе и на стоковом Android, и в прошивках есть пункт «Не выключать экран». Если его активировать, устройство не будет уходить в спящий режим во время подзарядки.

Как отключить «засыпание» экрана в приложениях с помощью программы Stay Alive!

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

Одной из лучших программ в своем роде является Stay Alive! . При этом все нужные функции доступны в ее бесплатной версии – ей и воспользуемся. На новых версиях Android 5 после установки приложения придется разрешить доступ к истории использования. При первом запуске программы всплывет окно с предупреждением – нажав кнопку «ОК», вы перейдете в раздел «Доступ к данным», а уже там сможете выбрать Stay Alive! и предоставить доступ к истории использования.

Если вы проигнорировали сообщение, появившееся при первом запуске Stay Alive!, перейти к разделу «Доступ к данным» можно следующим образом: зайдите в «Настройки» → «Приложения и уведомления», если потребуется, нажмите «Дополнительно», и выберите «Специальный доступ». Там и находится пункт «Доступ к данным».

В MIUI пункт называется «Приложения с доступом к данным» и он расположен в разделе «Администрирование устройства» по пути: «Настройки» → «Расширенные настройки» → «Конфиденциальность».

На смартфонах Huawei и Honor, чтобы разрешить программе Stay Alive! отслеживать, какие приложения вы используете, откройте меню настроек и перейдите в раздел «Безопасность и конфиденциальность» → «Дополнительные настройки» → «Доступ к статистике использования». Выберите Stay Alive! и активируйте тумблер «Отслеживать использование».

После первого запуска приложения и предоставления ему необходимого разрешения, Stay Alive! начнет работать, а смартфон перестанет уходить в спящий режим. По умолчанию будет активирован пункт «Keep screen on while charging and battery», а тайм-аут будет полностью отключен. Чтобы экран не гас только во время зарядки, выберите «Keep screen on while charging», а если хотите приостановить работу программы, нажмите на «Pause Stay Alive!».

Также с помощью приложения Stay Alive! можно отключить блокировку устройства, когда запущены либо работают в фоне определенные приложения. Для этого активируйте функцию «Enable selected apps» и выберите вариант «Keep screen on ONLY for selected apps». Затем откройте пункт «Select apps that will Stay Alive!» и отметьте нужные программы. Чтобы было проще искать приложения, можете использовать поиск.

Для того, чтобы устройство не «засыпало» во время работы выбранных приложений, также должен быть активирован один из двух режимов: «Keep screen on while charging» или «Keep screen on while charging and battery». Если выбран «Pause Stay Alive!», программа работать не будет.

Чтобы отключить тайм-аут для всей системы, кроме определенных приложений, выберите «Keep screen on EXCEPT for selected apps», откройте список программ (нажмите «Select apps that will Stay Alive!») и отметьте нужные.

Для того, чтобы уменьшить расход заряда аккумулятора, когда спящий режим отключен, разработчик Stay Alive! добавил функцию «Allow the screen to dim». Если ее активировать, экран будет затемняться, но не гаснуть.

Управлять приложением можно и с помощью панели инструментов, которая появится в области уведомлений. Кнопки, расположенные на панели, дублируют основные функции программы: те, что обведены серым – сейчас неактивны.

Единственный недостаток бесплатной версии Stay Alive! – это то, что после каждой перезагрузки телефона придется повторно запускать приложение. В платной версии программы такого ограничения нет.

Современные смартфоны и планшеты гораздо больше напоминают полноценный ПК, чем простое устройство для общения и получения информации. Теперь их оснащают четырехъядерными процессорами с частотой в 2 ГГц, гигабайтами оперативной памяти и Full HD экранами. Проблема только в том, что для питания всех этих мощностей используется не кабель от розетки, а небольшой аккумулятор, емкости которого редко хватает более чем на день. Что ж, давай посмотрим, как это исправить.

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

Стандартные средства энергосбережения

Среди пользователей смартфонов витает миф о том, что на самом деле мобильные устройства должны жить гораздо дольше, чем сейчас, и настоящая проблема не в мощностях, а в головотяпстве разработчиков Android и iOS - якобы они просто не хотят оптимизировать ОС из-за лени или сговора с производителями железа, которым необходимо продавать гигагерцы и гигабайты. ОК, потратим свое время на чтение документации и попробуем разобраться. Итак, четыре мифа о том, почему Android съедает так много энергии.

  • Java - тормоз, пожирающий процессор и память. Первое, что следует запомнить: в Android нет Java. Здесь используется регистровая виртуальная машина Dalvik, разработанная специально для embedded-устройств. О преимуществе регистровой ВМ в свое время уже писали разработчики Plan9/Inferno, и ссылка на их статью есть в конце. Если кратко, то регистровая ВМ отличается от классической стековой Java меньшими требованиями к оперативной памяти и меньшей избыточностью, то есть позволяет выполнять код быстро, не выжирая память. Второе: большая часть «тяжелого» кода (мультимедиакодеки, алгоритмы обработки графики, криптография и прочее) в Android написана на C, что позволяет исполнять его так же быстро, как в любой другой ОС. Dalvik-код используется преимущественно для определения логики приложений, а благодаря HotSpot JIT код внутри Dalvik выполняется не намного медленнее, чем код на Си.
  • Android не умеет эффективно работать с оборудованием. Это полная ерунда. Android основан на ядре Linux, в котором код поддержки оборудования отшлифован если не до блеска, то близко к тому. В ОС реализовано множество техник оптимизации работы с оборудованием и энергосбережения, таких как отложенный сброс буферов на диск с объединением, грамотный планировщик задач и алгоритм энергосбережения процессора, эффективные алгоритмы энергосбережения для модулей Wi-Fi, 3G, LTE и Bluetooth (4.0 Low Energy), batch-метод опроса сенсоров (реализовано в 4.4 KitKat). Без всего этого Android-смартфон не прожил бы и пяти часов.
  • Ядро Linux избыточно в мобильной технике. У ядра Linux очень гибкая система сборки, которая позволяет включить в результирующий образ только то, что реально нужно в конкретном устройстве. Ключевые подсистемы ядра от этого, конечно, не станут проще (по крайней мере базовый слой), во многом они слишком избыточны для условий мобильной техники, но это та цена, которую приходится платить за то, что Android вообще существует.
  • ** Android слишком сложен и тяжел.** Вероятно, многие компоненты ОС можно серьезно оптимизировать или даже вовсе убрать (в исходниках много дублирующегося кода), и Google таки занялась этой работой с выпуском 4.4, однако не стоит ждать, что все эти оптимизации сколько-нибудь серьезно продлят жизнь смартфону. В конце концов, один день жизни гаджета был реальностью и во времена весьма простой и легкой версии 1.5.

Главная «проблема» не только Android, но и всех современных мобильных ОС вовсе не в их тяжести и неоптимизированности, а в том, что современный смартфон - это уже не статичный гаджет вроде Nokia N95, который позволяет запустить аську и поиграть в сокобан, а система, живущая своей жизнью. Независимо от того, спит девайс или нет, он продолжает собирать почту, получать уведомления из календаря, Facebook, Instagram, ожидать звонки в Skype и синхронизировать файлы с облаком (так, например, делает приложение Dropsync). Вся эта работа не может не отразиться на времени работы от батареи, и именно в эту сторону следует смотреть, говоря о продлении жизни от аккумулятора.

Автоматизация

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

Бессонница

Перед тем как перейти к рассказам о техниках оптимизации, я должен налить еще немного воды и рассказать о том, что такое wakelock и suspend. Как и любая мобильная ОС, Android работает по принципу «сохранить столько энергии, сколько возможно» и поэтому в любой момент стремится перевести процессор и другие компоненты устройства в энергосберегающий режим. Такой механизм работы позволяет устройству отдавать процессорные ресурсы приложениям по мере необходимости, а все остальное время находиться в режиме низкого потребления энергии. Когда пользователь нажимает кнопку выключения и экран гаснет, Android переводит смартфон в режим suspend, отключая процессор и оставляя напряжение только на оперативной памяти (аналог ACPI S3). Таким образом удается добиться еще большей экономии, которая при определенных условиях может достигать 99%.

Чтобы уже запущенные приложения, которые должны продолжать работу даже после выключения экрана (музыкальный плеер, синхронизация файлов и прочее), не замораживались вместе с уходом в suspend, используется механизм под названием «частичный wakelock». Работает он очень просто: пока есть приложения, установившие wakelock, девайс не уйдет в suspend и приложения смогут нормально работать. В дополнение приложения могут использовать AlarmManager, который позволяет выводить устройство из suspend в нужные моменты с целью выполнения определенной работы (так делают виджеты, например). AlarmManager тоже использует wakelock для удержания процессора в режиме бодрствования.

Злоупотребление этими механизмами может привести к избыточному расходу энергии независимо от того, в каком режиме работы находится гаджет. К счастью, имея root, информацию о статистике использования wakelock’ов получить довольно просто. Самый удобный способ - с помощью Wakelock Detector. Это бесплатное приложение, которое показывает общее количество wakelock’ов с сортировкой по приложениям.

Взглянем, например, что показывает Wakelock Detector на моем Nexus 4 (скриншот Wakelock Detector). Самая первая строка экрана - это общее время бодрствования устройства за один день и шесть часов (с момента полной зарядки). Пять самых прожорливых приложений - это Dropsync, OnLive, Google Поиск, Gmail и Carbon. Все вместе они держали смартфон в режиме бодрствования почти час, а это очень много.


К сожалению, ни одно из этих приложений я удалять не хочу, и поэтому мне придется выяснить, для каких конкретно целей они использовали wakelock, и попробовать исправить эту проблему с помощью настроек самих приложений. Нажимаем на Dropsync и видим, что он ставил wakelock с тегом DropsyncWakeLock 15 раз (что в сумме привело к 32 минутам бодрствования) и один раз AlarmManager (2 секунды). Что такое AlarmManager, мы уже знаем, а вот DropsyncWakelock более интересен. Программист вправе давать произвольные имена wakelock’ам, но нетрудно предположить, что этот используется для выполнения автоматической синхронизации с Dropbox (Dropsync предназначен именно для этого). Мне постоянная синхронизация не особо нужна, и я могу запускать ее самостоятельно. Поэтому я просто иду в настройки Dropsync и отключаю автоматическую синхронизацию. Вуаля, телефон просыпается реже и не на такие длинные промежутки времени.


OnLive можно пропустить, так как 18 минут бодрствования были вызваны некорректным закрытием приложения (из него надо выходить по всем правилам). Далее идет «Google Поиск», приложение, которое, кроме всего прочего, включает в себя Google Now. Тапаем по нему и видим, что два самых активно используемых wakelock’а - это NlpWakeLock и EntriesRefresh_wakelock. Это уже сложнее, и разобраться, что же на самом деле происходит при их установке, довольно сложно. Поэтому долго удерживаем палец на имени wakelock’а, выбираем «Поиск» и смотрим, что нашел браузер. Уже на второй найденной странице есть пояснение, что NlpWakeLock устанавливается в тот момент, когда изменяется положение смартфона относительно сети (3G, Wi-Fi), после чего Google Now отправляет информацию о местоположении на сервер. Второй wakelock, судя по всему, используется для обновления карточек в Google Now. Одновременно решить проблему прожорливости в обоих случаях можно, просто отключив «Google Поиск» в «Настройки -> Приложения -> Все». Для решения первой - выключить определение местоположения в настройках Android.

Gmail заставляет смартфон бодрствовать с помощью wakelock’а с говорящим названием sync /gmail-ls/com.google/[email protected]. Очевидно, что он устанавливается на время автоматической синхронизации почты, поэтому понизить энергозатраты можно, просто отключив синхронизацию Gmail в «Настройки -> Аккаунты -> Google -> [email protected]». С другой стороны, делать этого я не хочу и лучше потерплю три минуты бодрствования за полтора дня.


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

Я бы рекомендовал сперва зайти в настройки Google-аккаунта («Настройки -> Аккаунты -> Google -> [email protected]») и аккаунтов других приложений и отключить все ненужные виды синхронизации. Мне, например, не нужны синхронизация календаря, стандартного браузера, контактов Google+ и «данных приложений», так что я могу спокойно избавиться от них. Так же следует поступить и со всеми остальными зарегистрированными на смартфоне аккаунтами, а в настройках сторонних приложений отключить автоматическую синхронизацию (тебе действительно нужна автосинхронизация Twitter и RSS?). Редко используемые приложения лучше удалить вовсе.

Последние версии Android не позволяют отключить определение местоположения полностью, но зато могут использовать очень консервативный и почти не влияющий на жизнь смартфона режим под названием (сюрприз!) «Экономия заряда батареи», который обновляет информацию только тогда, когда происходит подключение к Wi-Fi-сети или переход на другую сотовую вышку.

Если приложение садит аккумулятор, а удалять его нельзя и в настройках нет опций синхронизации или автообновления, то его можно просто заморозить. Делается это с помощью великолепного приложения под названием Greenify. Оно подавляет возможность приложения просыпаться самостоятельно и заставляет его работать только тогда, когда ты сам этого захочешь. Пользоваться очень просто. Запускаем Greenify, нажимаем на кнопку + в левом нижнем углу и видим, какие приложения дольше всего работают в фоне. На скриншоте видно, что наиболее прожорливые - это OTransfer Target, используемый для удаленного включения переадресации (оно вообще постоянно бодрствует), а также Beautiful Widgets и Carbon, которые периодически просыпаются для разного рода синхронизаций. OTransfer Target я ставил для теста, так что могу спокойно его удалить (оно, кстати, также есть в числе «лидеров» в Wakelock Detector). Beautiful Widgets просыпается для обновления виджета на рабочем столе, поэтому его я оставлю в покое. А вот Carbon, занявший пятое место по версии Wakelock Detector, можно заморозить. Для этого достаточно просто тапнуть по имени и нажать галочку в правом верхнем углу.

  1. Убийство фоновых процессов с помощью таск-киллера. Одна из самых глупых идей из всех, что только могут прийти в голову. Следует просто запомнить: фоновые процессы не потребляют энергию, обычно ее потребляют запущенные ими сервисные службы, которые либо вообще не убиваются таск-киллерами, либо имеют способность к самовоскрешению. А вот убийство самих фоновых приложений приводит к необходимости их повторного запуска, на что энергия таки тратится.
  2. Отключение Wi-Fi дома. В энергосберегающем режиме (когда смартфон спит) модуль Wi-Fi потребляет очень мало энергии, настолько мало, что на включение и выключение модуля зачастую расходуется гораздо больше. Имеет смысл разве что на планшете, который берешь в руки два-три раза в день, чтобы почитать новости или книгу.
  3. Автоматическое переключение между 2G и 3G. Аналогичная история. При скачках между типами сетей происходит повторный поиск вышек и повторное же соединение, а в это время радиомодуль работает на полную мощность. Приложения, автоматически включающие 2G во время сна, почти всегда приводят к еще большему расходу энергии.
  4. Приложения с названиями вроде Ultimate Battery Saver. В 99% (если не в ста) случаев это либо плацебо, либо все тот же таск-киллер, снабженный механизмом, который отключает разные компоненты смартфона при достижении определенного уровня заряда. Сначала происходит перевод на 2G и отключение GPS, затем отключается интернет, а под самый конец телефон переводится в режим полета. Проблема здесь в том, что описанный механизм работы скорее мешает и все это удобнее сделать самому в нужное время.
  5. Калибровка батареи с помощью рекавери. С давних пор существует миф о том, что удаление файла /data/system/batterystats.bin с помощью CWM приводит к сбросу настроек батареи, так что она начинает показывать «более правильный» уровень заряда. Миф настолько въелся в умы, что некоторые индивидуумы начали делать «калибровку» ежедневно, заявляя, что так можно продлить жизнь батареи и даже повысить ее емкость. На самом деле файл нужен для сохранения статистики использования энергии (той самой инфы из «Настройки -> Батарея») между перезагрузками и ни на что не влияет.

Андервольтинг

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

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

Далее устанавливаем платную версию Trickster MOD (бесплатная не сохраняет настройки напряжений) или CPU Adjuster; для ядер franco также подойдет платный franco.Kernel updater. Переходим на страницу регулировки вольтажа (в Trickster MOD нужные настройки находятся внизу четвертой страницы) и начинаем аккуратно убавлять по 25 мВ для каждой из возможных частот процессора. После убавления сворачиваем приложение и некоторое время тестируем смартфон, запуская тяжелые приложения, затем снова убавляем и снова тестируем.

В 90% случаев процессор без всяких последствий выдержит понижение на 100 мВ, а это даст нам дополнительный час-два в режиме активного использования. Если тебе повезет, то процессор сможет выдержать и –150, а в особо счастливых случаях даже –200, все зависит от партии процессора и конкретного экземпляра. Слишком сильное занижение напряжения приведет к перезагрузке, после которой достаточно будет поднять напряжение на 25 мВ и сохранить значение в дефолтовом профиле (в Trickster MOD это кнопка «Профиль» сразу над значениями).

INFO

Смартфон с AMOLED-экраном будет работать дольше, если использовать приложения с черным фоном. Чтобы сделать системные приложения темными, можно использовать прошивку AOKP или один из модулей Xposed.

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

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

Вместо выводов

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

В Android по умолчанию установлено минимальное значение бездействия, после которого ваше устройство переходит в спящий режим. Стандартный таймер – 2 минут. Этого мало, так как вы можете отвлечься ненадолго от работы.


В этом материале мы разберем два основных вопроса:

  1. Как полностью отключить спящий режим.
  2. Как увеличить время ожидания.

Полное отключение спящего режима

Стандартные инструменты Android не позволяют полностью отключить спящий режим, поэтому воспользуемся для этого сторонними приложениями. Зайдите в Google Play, в поисковой строке вбейте «Stay Alive! Keep screen awake». Не рекомендуется скачивать подобные программы из других источников. Приложение бесплатное и простое, поэтому мы и выбрали его среди более функциональных платных аналогов.

К сожалению, русифицированной версии еще нет.

Открыв приложение, вы увидите, что напротив надписи «Always keep screen Alive » уже стоит отметка. Перевод здесь простой: устройство всегда остается активно. Если вам нужно сохранять активность только при работе с определенными программами, то выберите их в списке.

Нажимаем на раздел «Keep screen Alive! for selected apps ». Ниже будет кнопка «Select apps that… ». Здесь отобразятся все приложения, установленные на вашем планшете. Отмечаем галочкой нужные программы.

Готово, теперь спящий режим не будет мешать вашей работе. Отключить режим перманентно активного устройства вы сможете по такой же схеме – просто снимите галочку с параметра «Always keep screen Alive ».

Увеличение времени пребывания устройства в активном режиме

Это действие можно выполнить при помощи стандартных служб Android:

  1. Открываем основные настройки планшета и переходим в раздел Экран .
  2. В списке настроек вы найдете раздел Спящий режим .
  3. Здесь можно изменить только время, хотя существуют исключения: на некоторых версиях Android в этом меню можно отключить тайм-аут. У вас, скорее всего, этот пункт не будет активным.
  4. При необходимости можно поставить и полчаса.

Что касается планшетов Apple, то здесь можно уменьшить задержку или полностью отключить ее. Для этого нужно зайти параметры на рабочем столе. Переходим в раздел Основные .

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

Рано или поздно многие владельцы android гаджетов сталкиваются с вопросом оптимизации расхода энергии аккумулятора, для увеличения времени автономной работы. По статистике большинство смартфонов и планшетов могут работать в автономном режиме 24 часа (при условии использования в нормальном режиме).

Причина такой ситуации в том, что современные аппараты оснащаются все более мощными техническими модулями (дисплей, gps, LTE),они потребляют большое количество энергии, также можно сюда отнести прожорливые приложения (игры), которые требуют все больше и больше аппаратных ресурсов. В этой статье мы расскажем, как оптимизировать андроид устройства с целью экономии энергии и увеличения времени автономной работы аккумулятора.

  • Зачастую производители оснащают свои устройства дополнительной подсветкой, например для сопровождения музыки. Ваш смартфон может выглядеть стильно и красиво, но с точки энергии экономии энергии, это излишество. Поэтому лучше отключить эту функцию в настройках.

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

  • Не менее важно следить за работой таких модулей как GPS или ГЛОНАСС, в активном режиме эти модули потребляют просто прорву энергии, поэтому их нужно отключать, если вы их не используете.

  • Еще один модуль беспроводной связи, который расходует заряд андроид устройств, именуется 3G, а в последнее время и 4G (LTE). Данная связь характеризуется высокой скоростью передачи и приема данных. Если вы ими пользуетесь, будьте готовы к быстрой разрядке аккумулятора. И для экономии заряда батареи следует следить за работой этих модулей.

  • Не забывайте о модулях беспроводной передачи данных, таких как: Wi-Fi и Bluetooth, если вы ими не пользуетесь отключайте. Также можно вывести на главный экран смартфона или планшета ярлык управления этими модулями.

  • Эту рекомендацию можно было бы отнести к оптимизации дисплея, но все, же решили рассказать отдельно. В настройках операционной системы вы можете найти такой пункт: Тайм-аут дисплея. Эта опция позволяет переводить аппарат в спящий режим по истечении определенного времени (15 сек 30-45-60). Через указанный промежуток времени смартфон отключает многие приложения и переводит в спящий режим, это позволяет уменьшить расход энергии.

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

  • Постарайтесь уменьшить количество ярлыков и виджетов находящихся на главном экране.

  • Если оптимизировать смартфон по максимуму, то следует отключить такие функции как вибросигнал, уровень громкости и живые (анимированные) заставки.

  • Согласно некоторым опросам, приложение Фейсбук потребляет большое количество энергии, а в режиме включенной синхронизации возрастает в несколько раз.

  • Если говорить о синхронизации приложения Фейсбук, то нужно рассказать и о синхронизации аккаунта гугл, ведь андроид является продуктом этой компании. Синхронизация аккаунтов позволяет объединить различные приложения и сервисы в одном личном пространстве. Например, можно настроить смартфон на получение электронной почты из сервиса gmail. Такая работа более удобна и приятна, но режим синхронизации требует отправки запросов между серверами, а это влечет повышение расхода энергии, поэтому, если вам не нужен аккаунт в гугл, просто отключите его.

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




  • 

    2024 © teslales.ru.