- Как определить программу, которая сажает батарею на вашем Андроиде
- Анализируем расход батареи смартфона
- Оптимизация расхода энергии: быстрый способ
- Оптимизируем расход энергии приложениями: тонкая настройка
- Энергопотребление Android-приложений
- Общая информация
- Doze Mode
- App StandBy, App StandBy Buckets
- Firebase Cloud Messaging с App StandBy и режимом Doze
- Как протестировать приложение с различными ограничениями системы
- Тестирование Doze Mode
- Сколько ест сам андроид
Как определить программу, которая сажает батарею на вашем Андроиде
Эффективность работы операционной системы Android с аккумулятором телефона в версии 8 существенно выше, чем у прежних релизов. Тем не менее иногда заряд аккумулятора начинает тратиться быстрее, чем обычно. Причиной может стать выход очередного обновления какого-то приложения или установка новой программы, которая жрет батарею. В этой статье мы расскажем, как быстро вычислить утечку заряда аккумулятора телефона и повысить время работы мобильника от одной зарядки.
Анализируем расход батареи смартфона
В разделе настройки Android Батарея нажмите кнопку Статистика. Все картинки в статье сняты на телефоне Samsung. На других устройствах, работающих на Android 8 и выше, они могут выглядеть иначе, но похоже.
Здесь приведен анализ расхода заряда аккумулятора телефона по системным сервисам, компонентам (например, экран) и программам. Поскольку абсолютное значение в миллиампер-часах обычному пользователю ничего не скажут, данные приводятся в процентах от общего расхода.
Как видно из рисунка, основные потребители в обычном режиме использования: сотовая сеть, экран, система. Ожидаемо много тратит приложение Google, отвечающее за «ок, гугл» и Яндекс, которому на моем телефоне разрешено работать в фоне.
Если повышенный расход связан с какой-либо программой, она будет в этом списке на первых позициях. Можно удалить ее со смартфона или заставить тартить батарейку поменьше.
Оптимизация расхода энергии: быстрый способ
Самый быстрый способ увеличить продолжительность работы смартфона на Android без подзарядки — включить средний или максимальный режим экономии.
Чтобы узнать, сколько примерно протянет ваш мобильник без подключения зарядного устройства, обратите внимание на прогноз в разделе Батарея.
С годами максимальная емкость аккумулятора падает. Это объясняется техническими причинами. Для телефонов после 3-5 лет использования частая зарядка уже не следствие неоптимизированной системы и программ, а необходимость, связанная со старением батареи.
Оптимизируем расход энергии приложениями: тонкая настройка
Вернемся в основной пункт настройки Батарея. Внизу указываются приложения, которые работают на телефоне и тартят энергию. Большинство таких программ, отмеченных галочкой, можно смело перевести в спящий режим обозначенной на рисунке клавишей.
Система запомнит ваш выбор и в будущем будет отправлять эти программы в спящий режим принудительно. Заданные исключения можно посмотреть по этому разделу настроек.
Влияет это только на скорость открытия программы. Я оставил в исключениях такой список.
Указанным трем службам разрешено тратить батарею смартфона по своему усмотрению. Остальные система будет пытаться перевести в спящий режим для экономии заряда.
Маловажные приложения, которые используются редко, можно отправить в список с запретом на работу в фоновом режиме. Они будут активны только когда вы их используете.
Источник
Энергопотребление Android-приложений
Ваши пользователи жалуются на то, что приложение очень быстро сажает заряд телефона? Запущенный фоновый сервис внезапно останавливается? Сообщения от FCM не доходят до пользователя? Что связывает эти три серьезных вопроса? Ответ прост — неверно выстроенная работа с энергопотреблением приложения.
Давайте разберемся в основных моментах, связанных с этой темой. Возможно, это позволит вам в будущем избежать ошибок, с которыми сталкивалось большинство разработчиков мобильных приложений.
В интернете огромное количество разрозненной информации, собрать которую в единое общее руководство было одной из основных целей этой статьи.
Общая информация
В Android есть следующие платформенные фичи для оптимизации энергопотребления:
В Android 6 появились две фичи для сохранения заряда батареи за счет управления поведением приложений, когда устройство не на зарядке:
Doze Mode
Когда устройство находится в режиме Doze, доступ приложений к определенным ресурсам откладывается до появления окна обслуживания (maintenance window). Список конкретных ограничений.
Если пользователь оставляет на какое-то время устройство отключенным от зарядки и с выключенным экраном, то оно переходит в режим Doze. В этом режиме система пытается сохранить заряд батареи, ограничивая доступ приложений к сетевым и ресурсоемким службам, откладывает Jobs, синхронизацию и Alarms.
Периодически система выходит из режима Doze, чтобы приложения могли выполнить отложенные действия. Во время этого окна обслуживания (maintenance window) система запускает все отложенные синхронизации, Jobs, Alarms и позволяет приложениям получить доступ к сети.
Со временем система все реже и реже планирует maintenance windows, что помогает снизить расход энергии, когда устройство не на зарядке.
В режиме Doze к приложениям применяются следующие ограничения:
- Доступ в сеть приостановлен.
- Стандартные AlarmManager откладываются до следующего окна обслуживания.
- Система не сканирует Wi-Fi.
- Система не позволяет запускаться sync adapters.
- Система не позволяет запускаться JobScheduler.
Чеклист для приложения в режиме Doze:
- Использовать FCM для обмена сообщениями.
- Если пользователь должен сразу увидеть уведомление, то нужно использовать FCM с высоким приоритетом.
- Предоставлять достаточное количество информации в сообщении, чтобы избежать последующих запросов в сеть.
- Установить критически оповещения с setAndAllowWhileIdle() and setExactAndAllowWhileIdle().
- Протестировать приложение в режиме Doze.
App StandBy, App StandBy Buckets
App StandBy позволяет системе определить, что приложение простаивает, когда пользователь не пользуется им активно. App StandBy запускается, когда не выполняется ни одно из следующих условий:
- Пользователь явно запускает приложение.
- Приложение находится на переднем плане (явно или в качестве Foreground service, либо используется другой Activity).
- Приложение генерирует уведомления, которые пользователь видит на экране блокировки или в области уведомлений.
- Приложение является активным приложением администратора устройств.
Когда устройство подключается к зарядке, система выпускает приложения из режима Standby, что позволяет им выполнять любые задачи. Если устройство не используется в течение длительного периода времени, система предоставляет бездействующим приложениям доступ в сеть примерно раз в день.
Определение частоты использования отличается у разных производителей, особенно «жестит» Samsung.
В Android 9 появились новые фичи для управления питанием устройства. Они делятся на две категории:
- App standby buckets. Система ограничивает доступ приложения к ресурсам устройства в зависимости от модели поведения пользователя.
- Battery Saver Improvements. Когда включена функция экономии заряда батареи, система накладывает ограничения на все приложения.
Эти ограничения применяются ко всем приложениям независимо от их targetSdk .
App StandBy Buckets помогает системе приоритизировать запросы приложений к ресурсам на основании того, как давно и как часто использовалось приложение. На основе шаблонов использования приложение помещается в один из пяти сегментов. Система ограничивает ресурсы устройства, доступные для каждого приложения, в зависимости от того, в каком сегменте находится приложение.
Пять сегментов, назначаемые приложениям в зависимости от приоритета:
- Active. Приложение находится в активном сегменте, если пользователь в настоящий момент использует приложение. Т.е. если видна Activity, или запущен Foreground service, или есть synchronized adapter, связанный с приложением на переднем плане, или пользователь кликнул на уведомление. Если приложение в активном сегменте, то никакие ограничения на использование ресурсов устройства не накладываются.
- Working set. Приложение находится в этом сегменте, если часто запускается, но в данный момент не активно. Система накладывает умеренные ограничения на действия этого приложения.
- Frequent. Приложение находится в этом сегменте, если используется часто, но не каждый день. Система накладывает больше ограничений, также накладываются ограничения на количество сообщений FCM с высоким приоритетом.
- Rare. Приложение находится в этом сегменте, если оно редко используется. В этом случае система накладывает строгие ограничения и на получение сообщений FCM с высоким приоритетом. Система также ограничивает возможность приложения подключаться к интернету.
- Never. Это сегмент для приложений, которые были установлены, но никогда не запускались. Система накладывает жесткие ограничения.
Каждый производитель может установить свои критерии присвоения неактивных приложений к сегментам.
Для определения сегмента, в который система поместит приложение, используется машинное обучение. С его помощью прогнозируется поведение пользователя. Например, если приложение из сегмента Rare было только что использовано и перешло в Active, то это не означает, что после использования приложение поднимется в более приоритетный сегмент. Сегменты определяются на основе прогнозов будущих действий пользователя, а не на основе недавнего использования.
Полезная информация по работе с App StandBy Buckets:
- НЕ пытаться манипулировать тем, к какому сегменту система отнесет приложение.
- Создать Launcher Activity, если ее нет.
- Создавать обработчик нажатий на уведомления. Если с ними нельзя взаимодействовать, то приложение не сможет перейти в активный сегмент.
- Если приложение не показывает пользователю уведомление при получении high-priority FCM-уведомления, то пользователь не сможет взаимодействовать с приложением, и оно не перейдет в активный сегмент. Если многие сообщения будут помечены как high-priority, то приложение исчерпает свою квоту на такие сообщения, и все последующие будут иметь normal-priority.
Firebase Cloud Messaging с App StandBy и режимом Doze
Необходимо использовать FCM для взаимодействия с приложением во время простоя устройства. FCM оптимизирован для работы в режимах ожидания Doze и App StandBy с помощью высокоприоритетных FCM-сообщений. Высокоприоритетные сообщения позволяют разбудить приложение для доступа к сети, даже если устройство находится в режиме Doze или приложение в режиме App StandBy. В обоих режимах система доставляет сообщение и дает приложению временный доступ к сетевым сервисам, а затем возвращает устройство или приложение в режим ожидания.
Как протестировать приложение с различными ограничениями системы
Тестирование Doze Mode
- Получить доступ к ADB (android device bridge) в текущей сессии:
- Перевести систему в режим ожидания:
- Выйти из режима ожидания:
- Проверить поведение приложения.
Источник
Сколько ест сам андроид
Прежде чем задавать вопросы прочитайте полностью «шапку» темы, в противном случае ваши посты могут быть оценены как оффтоп и удалены. Если после прочтения шапки у вас остались вопросы, воспользуйтесь формой написания поста в конце статьи. И не забывайте пользоваться поиском по теме, т.к. 80% вновь задаваемых вопросов уже обсуждались.
В начале рассмотрим основную и не всегда очевидную причину быстрого разряда аппарата, нарушение его «сна». Дело в том, что после отключения экрана ваш аппарат старается перейти в режим максимального энергосбережения (в так называемый «глубокий сон») в котором уменьшается частота процессора, отключаются «лишние» его ядра, максимально снижается активность приложений и т.п. (энергопотребление в таком режиме может составить всего 1-2% заряда за 8-12 часов). Однако, некоторые приложения/процессы могут выводить устройство из такого сна, пробуждая его своими запросами (так называемыми wakelock’ами), при этом они могут начать загружать процессор, использовать беспроводные сети и геолокацию по своему усмотрению, бесцеременно расходуя энергию при выключенном экране. Поэтому, для начала проверим, есть ли у вашего аппарата проблемы с режимом «сна».
Чтобы понять есть ли у аппарата проблемы с его режимом сна, после дня умеренного использования аппарата в звонилке набираем код *#*#4636#*#* (или пользуемся программой SpareParts), и смотрим пункт «Battery history» («Журнал аккумулятора» или «Журнал сведений о батарее»). Тут сводится вся информация о потреблении устройством энергии.
Нас интересует в первую очередь пункт первого меню «Other Usage» («Прочее использование»), он выводит следующие подпункты:
1. Running («Режим работы» или «Выполняется«) -показывает время вне режима ожидание, т.е. всё время активности аппарата, назовём этот параметр просто «Активность»; (в %, при нажатии в мин.)
2. Screen on («Экран включён«) — показывает время работы аппарата с включённым экраном; (в %, при нажатии в мин.)
3. Phone on («Телефон вкл.«) — показывает время разговора по телефону. (в %, при нажатии в мин.)
Второе меню позволяет сортировать данные и выводить их: либо за всё время работы аппарата, либо за время с последней загрузки, либо с последней подзарядки.
Показатели во всех пунктах у всех будут разные, но вот для % соотношения есть определённая зависимость.
Активность аппарата (показатель «Running») складывается из двух составляющих, «видимой» и «невидимой».
— «Видимая» составляющая формируется из всех действий которые происходят когда экран устройства включён, соответственно она ровна показателю «Screen on».
— «Невидимая» составляющая в свою очередь формируется когда экран устройства выключен. В идеале «невидимой» активности вообще не должно быть, если же она есть, значит аппарат что-то будит когда он «спит»и на это тратится энергия заряда.
Таким образом, определить есть ли проблемы с энергопотреблением устройства в режиме «сна» можно следующем образом:
Из показателя «Running» вычитаем показатель «Screen on» и получаем ту самою «Невидимую» составляющую. Если она получается больше 10% (в идеале она должна составлять до 5%), и находится в таком состоянии несколько дней значит надо искать будящую программу способами описанными в пункте 9.
Следует учесть, что прослушивание музыки при выключенном экране, активные мэссенджеры и другие приложения работающий в фоне также увеличивает значение «невидимой» составляющей, поэтому не надо этому удивляться, это нормально. Если же вы знаете, что не используете приложения в фоновом режиме, а «невидимая» составляющая в режиме сна растёт, это верный признак того, что аппарат что-то постоянно «будит» и он не может нормально находится в режиме энергосбережения.
- Наиболее достоверное среднее значение показателя «Running» будет сформировано примерно за день использование аппарата. Однако можно не ждать целый день, достаточно просто открыть данный пункт и запомнить значение показателя в минутах. Затем выйти из журнала и выкл. экран (перевести аппарат в режим «сна»). Спустя к примеру 10 мин. вкл. аппарат, запустить журнал и сравнить новое значение показателя с предыдущем. Например, показатель «Running» в начале был 52 мин. 10 сек, спустя 10 минут «сна» он стал 53 мин. 25 сек, т.е увеличился на 75 сек. или на 12.5% по отношению ко времени сна, что является слегка завышенным значением. Соответственно чем больше будет расчётное время сна, между измерениями, тем точнее будет значение параметра которое вы найдёте.
В версии ОС>2.3. убрали пункт «журнал аккумулятора», вместо этого появился пункт «Использование батареи» (меню\настройка\сведения о телефоне\. ).
В данном пункте приведён перечень параметров на которые уходит основной заряд батареи.
[attachment=»13062375:SC20110731_161345.png»]
Вот расшифровка основных из них (перевод параметров на разных моделях может различаться, но всегда можно сориентироваться по неизменным иконкам):
А. «отобразить» — время работы с включённым экраном (потребление энергии экраном);
Б. «режим ожидания»- время использования радиомодуля (потребление энергии радиомодулем телефона);
В. «время простоя» — время работы с выключенным экраном (думаю сюда входит и «невидимая» составляющая);
Г. «Система Андроид» и «ОС Андроид» — время работы системных приложений (потребление энергии системными приложениями, при этом их активность в режиме сна показывается отдельно)
Д. «голосовые вызовы», «Wi-Fi» — общая длительность голосовых вызовов и время работы Wi-Fi (соответственно энергия затраченная на вызовы и Wi-Fi)
Пусть никого не пугают высокие значения % п. А, Б это основные потребители в любом телефоне и это нормально, хуже когда лидирует в этом списке что-то другое. И вообще, параметры выводимые в данном пункте настроек это всего лишь % соотношения, и они всегда будут в своей сумме образовывать 100%, т.е. показывать, как распределился заряд израсходованный за определённое время работы от батареи (выводимое вверху экрана).
К сожалению, из-за несовершенства системы, увидеть в этом списке, кроме вышеописанных параметров, в лучшем случае возможно только программу работающую «открыто». Встретить программу работающую «скрыто» (когда аппарат «спит»), т.е. увеличивающую «невидимую» активность, очень маловероятно.
Если тапнуть на верхнюю часть, то мы попадём в пункт с графиками разряда. Большой график показывает динамику снижения уровня заряда аккумулятора (по оси Y- уровень заряда, по оси Х-время).
Под ним 4 полоски:
—«Сигнал телефона» (показывает качество радио сигнала в месте нахождения аппарата, зелёная — хорошее, красная — плохое. Чем хуже качество, тем большее аппарат будет тратить энергии);
—«Wi-Fi» (синяя заливка полоски показывает время использование Wi-Fi передатчика);
—«Рабочий режим» или «Режим бодрствования» (синяя заливка полоски показывает время активности аппарата);
—«Экран включён» (синяя заливка полоски показывает время когда экран аппарата был включен);
—«Зарядка» (заливка полоски показывает время в течении которого аппарат заряжался);
Вся активность аппарата складывается из двух составляющих, «видимой» и «невидимой».
«Видимая» составляющая формируется из всех действий которые происходят когда экран устройства включён, т.е. когда полоска «Экран включён», а над ней и полоска «Рабочий режим», залиты синим;
«Невидимая» составляющая формируется когда экран устройства выключен, т.е. когда полоска «Рабочий режим» залита синим, а полоска «Экран включён» под ней нет. В идеале «невидимой» активности вообще не должно быть, если же она есть, значит аппарат что-то будит когда он «спит»и на это тратится энергия заряда.
На скриншоте приведённым выше как раз хорошо видна «невидимая» активность. За ночь наблюдений (идеальный период наблюдения, так как графики строятся довольно медленно), часть времени аппарат не спал. Если такая «невидимая» активность появляется слишком часто, продолжительна по времени (составляет более 10% от всей полоски «Рабочий режим») и приводит к значительной потери заряда, значит надо искать будящую программу способами описанными в пункте 9.
- Следует учесть, что прослушивание музыки при выключенном экране, мэссенджеры и другие приложения работающие в фоне также увеличивают значение «невидимой» составляющей, поэтому не надо этому удивляться, это нормально. Если же вы знаете, что не используете приложения в фоновом режиме, а «невидимая» составляющая в режиме сна растёт, это верный признак того, что аппарат что-то постоянно «будит» и он не может нормально находиться в режиме энергосбережения.
- Если в вашем устройстве описанный выше пункт настроек «Использование батареи» заменён другим приложением, без «полосок» (например в аппаратах Lenovo), воспользуетесь сторонней программой для доступа к нему, например Battery Monitor
Тут всё просто, если у вас приоритет на голосовые вызовы используйте 2G сети, это даст наибольшую экономию. Если приоритет на передачу данных, то использование 3G в определённых ситуациях может оказаться более выгодным.
Передача голоса. Особенность 3G сетей в том, что они многоканальны и способны передавать голос и данные одновременно, тогда как 2G сети (в ОС Андроид) единовременно могут передавать только что-то одно. Таким образом при обычном звонке (!не видео-звонке) все каналы будут заняты под передачу голоса, и хоть это возможно и повысит качество голоса но и энергопотребление также увеличит. (до 20% по некоторым источникам)
Передача данных. При достаточно хорошем покрытии вашего города сетью 3G (постоянно 3-4 делений), для передачи данных предпочтительнее использовать 3G взамен EDGE, так как EDGE потребляет в среднем на 30% больше энергии чем 3G (300 мА против 210 мА) и сравним с потреблением Wi-Fi (до 330 мА) (данные приведены для уверенного приёма обоих сетей при полной загрузке — скачивание файла к примеру). К тому же меньший итоговый расход энергии получается из-за меньшего времени использования сети 3G за счёт более высокой скорости передачи данных. Если же покрытие 3G не устойчивое, и местами отсутствует вовсе, лучше будет отключить использование сети 3G, так как при нахождении в зоне 2G ваш аппарат будет постоянно сканировать лишний диапазон частот на наличие 3G, тратя дополнительно драгоценную энергию.
Экономичный режим для 3G сети.
При использовании режима 3G и в случае если вы не пользуетесь SIP-протоколом можно уменьшить расход энергии на связь путём отключения обязательную регистрацию IMS в сети.
Для этого:
1. В звонилке набираем код *#*#4636#*#*;
2. В открывшемся меню выбираем «Информация о телефоне»;
3. Нажимаем кнопку «Обязательная регистрация IMS», должно стать «отключена».
4. Закрепляем результат перезагрузкой.
Информацию предоставил verts77 и almazo82.
Уровень приёма сотовой связи оказывает значительное влияние на сохранение заряда. Чем слабее уровень принимаемого сигнала (меньше делений индикатора антенны на экране) тем больше аппарат тратит энергии на его усиление. Поэтому, в зонах неуверенного приёма сети (к примеру в поездке) лучше отключать радиомодуль аппарата, переводя его в режим «в самолете».
Сэкономить заряд можно также отключив не задействованные вашим сотовым оператором диапазоны частот, тем самым аппарат не будет впустую тратить энергию на их сканирование. Для этого необходимо попасть в инженерное меню с помощью кода (см. тему по своему устр-ву) или программы, например SvsEngRunner \ для всех MTK . Далее на вкладке Telephony выбрать BandMode -> SIM1 (SIM2) -> убрать галочки с не используемых диапазонов и нажать SET.
В России используются следующие режимы частот:
- для GSM (2G) — GSM900 и DCS1800;
- для UMTS (3G) — WCDMA-GSM-900, WCDMA-IMT-2000 (2100) и CDMA450 (абоненты Скайлинк);
- для LTE (4G)— LTE2500, LTE800, LTE2600, реже LTE2300 (Ростелеком), LTE1800 (Екатеринбург, Татарстан), LTE450 (Скайлинк).
Остальные режимы могут быть отключены.
Внимание! Отключение неиспользуемых частот/диапазонов на некоторых аппаратах может привести к отвалу IMEI/модема! Действуем на свой страх и риск!
Современные мобильные устройства буквально напичканы всевозможными датчиками, которые естественно, требуют энергии для своей работы. Посмотреть, какие датчики есть в вашем аппарате и сколько они потребляют очень просто, достаточно установить приложение Android System Info, зайти во вкладку System и выбрать пункт Sensor. В первых Android-устройствах обычный акселерометр (датчик, определяющих положение устройства) потреблял до 15 мАч, в современных аппаратах это значение как правило в 100 раз меньше, порядка 0.1-0.15 мАч. Если у вас примерно такие же цифры, то нет особого смысла отключать «автоматическую ориентацию экрана» или «автоматическую яркость» (датчик освещённости), каким-либо значительным образом это не отразится на общем энергопотребление аппарата.
Однако, следует помнить, что многие приложения (прежде всего игры), в которых задействовано управление наклонами аппарата, могут использовать сразу несколько датчиков (акселерометр, гироскоп, датчик вращения, датчик ускорения, датчик ориентации, датчик гравитации и т.д.), что в сумме может дать потребление до 50 мАч.
ВНИМАНИЕ! Ручное изменение частоты CPU может привести к зависанию, нестабильной работе и теоретически даже к повреждению устройства. Делаем всё на свой страх и риск!
Есть три основных параметра, влияющих на энергопотребление процессора, которые можно изменить: частота, режим управления частотой, напряжение.
Частота.
Все современные устройства могут динамически управлять частотой своего процессора в зависимости от его загрузки, тем самым регулируя его производительность и энергопотребление. Однако, это не всегда может происходить правильно и наиболее оптимально, в следствии чего у аппарата будет не экономичный расход энергии. При этом, при отсутствии активных приложений, выключенном экране, частота процессора снижается до минимального значения, прописанного в Ядре прошивки, как правило это 15-30% от максимальной частоты. В правильно оптимизированном устройстве, со средней повседневной нагрузкой, большую часть времени процессор будет работать именно на минимальной частоте. Соответственно оценить оптимизацию энергопотребления процессора устройства можно посмотрев статистику работы процессора на той или иной частоте. Для этого открываем приложение Android System Info,, выбираем вкладку System и пункт CPU.
Если там вы видите, что большую часть времени процессор работает на максимальной частоте, значит с оптимизацией есть проблема. При этом, в первую очередь нужно посмотреть графики загрузки процессора в программах мониторинга, SystemPanel. Если процессор не грузит какое-либо приложение, за счёт чего его частота поднимается, значит не правильно работает штатный режим управления частотой.
Для исправления ситуации устанавливаем ® SetCPU , с помощью которого можно не только задать рабочую частоту процессора (или уточнить диапазон рабочих частот), но и создать профили частот, активируемые по какому-либо событию (запуску приложения, уменьшению заряда, отключению экрана, времени), то есть оптимизировать процесс управления частотой под себя.
Например, частоту в рабочем режиме можно установить не более 1000-1200 МГц; по событию «экран выключен» и «заряд менее 15%» максимальную частоту ограничить половиной от рабочей частоты, а минимальную — установить на минимум; задать профили для часто запускаемых приложений с ограничением их максимальной рабочей частоты той величиной, при которой сохраняется комфортная для тебя отзывчивость интерфейса (так для игр вполне может хватить 800 МГц, а для просмотра фильмов и прослушивания музыки 500 МГц). Такой подход поможет сэкономить до 50% заряда расходуемого процессором.
- Ручное уменьшение максимальной частоты лишь на 10-15% мало повлияет на увеличение времени автономной работы, я советую уменьшать частоту в обычном режиме не менее чем на 25%.
- Учтите, что чем экономичнее режим работы CPU (и фактически меньше средняя частота его работы), тем менее отзывчивее может стать интерфейс и ниже общая скорость работы устройства. Протестируйте разные режимы работы и подберите наиболее оптимальный для вас по соотношению удобство работы/экономичность.
Режимы управления частотой процессора.
Эти режимы (алгоритмы) определяют, как будет изменяться частота процессора, в каких пределах и как быстро, в зависимости от испытываемой процессором загрузки, её длительности и т.п. Режимы управления частотой и шаг изменения частоты заложены в Ядре и их набор для разных прошивок может отличаться.
В большинстве ядер существует 5 режимов работы CPU:
ondemand — пошаговое повышение работы частоты ЦП, в зависимости от нагрузки. Общий смысл принципа работы — каждые 20-200 мс замеряется нагрузка на cpu, общая или пользователем, и если нагрузка на текущей частоте более 95% — частота повышается, если менее 20% — частота понижается на 1 шаг. Частоту замера, % загрузки перехода и остальное для всех режимов выставляется при компиляции ядра.
hotplug — основан на ondemand, на многоядерных устройствах отключает в простое не задействованные ядра. Подробное описание здесь.
conservative — тоже, что и ondemand, но нагрузка для перехода частоты процессора в большую или меньшую сторону меньше — обычно 20%. Например: доступно 100-200-400-800-1000 MHz, работаем на 200 MHz, нагрузка возросла на 30%, переходим на 400 Mhz.
performance — макс доступная частота, макс производительность.
powersave — минимум производительности, максимум батареи.
userspace — работает на заданных пользователем частотах.
На современных многоядерных устройствах наиболее предпочтительнее использовать режим hotplug, или ondemand, если первый у вас отсутствует. Если идёт речь об экстремальном энергосбережении, тогда подойдут режимы powersave и userspace (с ручным выставлением частот).
Выбрать соответствующий режим работы для своего процессора можно всё в том же ® SetCPU .
- В модифицированных ядрах могут присутствовать дополнительные режимы:
Interactive — интерактивный режим, гоняет частоту ЦП в реальном времени, почти всегда на полную производительность.
Smartass — режим, основанный на Interactive. Отличается более быстрым снижением частоты в простое, а также понижает частоту до минимума при выключенном экране.
X-версии Ondemand, Smartass, Interactive — эти режимы основаны на оригинальных режимах + во время сна выставляется режим Conservative. - У меня при процессоре на 1000 МГц, я использую следующие установки:
-обычный режим 100-800 МГц (ondemand). Субъективно это увеличивает время работы примерно на 15-20%.;
-просмотр фильма (при длительной поездке к примеру) 100-400 МГц (ondemand). Время просмотра фильмов при этом увеличивалось на 30-40%.
Во всех режимах каких-либо «зависаний» устройства не наблюдалось.
Уменьшение напряжения процессора (андервольтинг).
Экран является одним из основных потребителей энергии в мобильном устройстве, при этом его потребление зависит от следующих основных параметров: размера и разрешения, типа, выставленного уровня яркости, таймаута подсветки (времени горения подсветки после прекращения активности).
Источник