Программа на андроид для управления спящим режимом. Спящий режим в Android: что это и как его настроить. Увеличение времени пребывания устройства в активном режиме

Eсть универсальные методы увеличения продолжительности работы мобильных устройств

Телефоны постоянно совершенствуются, уменьшаются в весе, становятся более тонкими, их процессоры становятся более мощными, экраны увеличиваются в размере. И при всем таком технологическом прогрессе возрастает нагрузка на аккумуляторы.

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

В то же время есть определенные универсальные методы увеличения продолжительности автономной работы мобильных устройств. Рассмотрим эти методы подробнее.

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

2. Отключите режим «Автоматический поворот экрана» . Данная полезная функция также совсем не будет востребована постоянно, в тоже время, акселерометр - датчик в телефоне, реагирующий на поворот телефона из горизонтального положения в вертикальное и обратно, будет расходовать значительные объемы энергии, которую можно было бы потратить на более нужные, часто необходимые телефонные разговоры.

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

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

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

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

7. Отключайте модули Bluetooth и Wi-Fi . У современных аппаратов есть функция автоматического отключения данных модулей, но отключаются они только при переходе аппарата в спящий режим. Следовательно, надежнее отключать их вручную. Аналогично при неиспользовании аппарата отключите все онлайн-сервисы, электронную почту. Также выгодно для экономии заряда отключить и все системные напоминания и сообщения. Отключите аппарат от сетей 3G. Такие простые операции позволят продлить работу телефона без подзарядки на несколько часов.

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

9. Соблюдайте рекомендованные производителем телефона температурные режимы . Комфортная температура, а для телефона это в районе 15 - 25 градусов, продлит срок работы аккумулятора, снизит скорость его произвольной разрядки, предотвратит неполадки в устройстве.

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

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

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

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

Многие из нас в подобных случаях давно и успешно пользуются приложением Greenify , которое умеет в автоматическом режиме определять, какие из имеющихся на вашем смартфоне или планшете приложения виноваты в повышенном разряде батареи, а также – замедлении его работы, после чего вы можете отключить их. Недавно у Greenify появился новый, достаточно серьезный конкурент – приложение от разработчика Francisco Franco, названное им Servicely.

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

Разработчик: Francisco Franco
Платформа: Android 5.0 и выше
Язык интерфейса: Английский
Состояние: Pro (Полная версия)
Root: Нужен

В 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, то здесь можно уменьшить задержку или полностью отключить ее. Для этого нужно зайти параметры на рабочем столе. Переходим в раздел Основные .

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

Вступление

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

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

Внешний вид и функционал

Наш детектор сна для смартфона - скромняга. Выглядит он достаточно просто, был интуитивно понятен даже в то время, когда язык программы был сугубо английский.

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

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

Хорошо оптимизированная прошивка и программы, которые вкупе с ней не менее хорошо оптимизированы, в идеале должны сводить потребление смартфоном в спящем режиме не более 1-2 процентов батареи за 8 и более часов. Это проверялось мной неоднократно на самых разных прошивках и с разным установленным софтом, так что заявляю уверенно - смартфон на Android может за 8-9 часов не потребить ни одного процента батареи в режиме ожидания.

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

Но я несколько отвлекся, идем изучать программу дальше.

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

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

Настройки и прочие мелочи в программе

Собственно настроек, как таковых, у программы не очень много. Да что там, их почти нет. Поначалу и вовсе думал не выделять этот пункт отдельно, но потом решил, что так будет удобнее, так как кроме настроек есть еще несколько интересных моментов.

Самая первая настройка из доступных - это возможность включить отображение системных процессов, использующих в спящем режиме батарею вашего смартфона. Казалось бы, зачем оно надо? А вот и надо. Иногда, редко, но бывает, у пользователя спустя время начинаются проблемы с батареей, которая буквально тает на глазах. Причем, по его заверениям, никаких сторонних программ он не ставил или удалил все, что поставил из непроверенного софта. А батарея все равно сильно расходуется. Вот тут и пригодится эта настройка в программе. Так уж получается, что при всех своих плюсах OS Android сильно не хватает стабильности. И одним из проявлений этого является внезапный сбой какого-либо системного процесса в прошивке. Результаты могут быть самые разные, от "подлагиваний" интерфейса и тормозов при выполнении задач до уже упомянутого повышенного расхода батареи. Самостоятельно это не определить, почему и функция в программе очень полезная. А так как процесс системный и удалять для решения проблемы нечего, остается перепрошивка или сброс системы до первоначальных настроек. Процедуры не сложные, но кто же станет их делать наугад просто от подозрений. А так включили отображение в нашем детекторе системных процессов, увидели, что какой-то из них стал вдруг просто убивать батарею, и приняли решение.

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

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

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

С помощью кнопки "Менять тему" вы сможете изменить тему программы на темную или светлую, по своему вкусу.

Что еще можно найти в пункте Настройки? Да, собственно говоря, ничего больше особо интересного.

Если есть нужда в виджете для программы, вы сможете купить его из этого раздела. К нему же можно прикупить какую-то Базу решений. Не знаю, что за база такая, могу лишь предполагать, что сборник советов по энергосбережению или что-то в этом духе. Стоит ли на нее тратить свои деньги - решать вам, но я бы подумал сто раз, уж чем-чем, а бесплатными советами и решениями этого вопроса интернет и так просто пестрит. Зато понравился пункт FAQ с пояснениями о работе программы.

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

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

Конкуренты

Про конкурентов писать здесь ничего не буду. Просто потому, что не вижу смысла. Программа отлично справляется со своим назначением, бесплатна, не нагружает оперативную память и сама практически не потребляет батарею. Искать от добра добра вряд ли стоит, но если все же неймется, то можете попробовать BetterBatteryStats . Правда, она платная и для ее полноценной работы требуется рут-доступ. В целом в Google Play полно программ, аналогичных Wakelock detector, но очень мало из них действительно заслуживают внимания. И проверять все подряд нет смысла, когда имеется простая и вполне себе рабочая программа.

Оценка

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

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

Давай представим, что у нас есть приложение, а у него, в свою очередь, есть служба (service), которая должна постоянно висеть в фоне, обрабатывать команды, полученные от сетевого сервера, и отправлять ответы. Связь с сервером, как это и положено мобильным устройствам, поддерживается с помощью long poll запросов, то есть приложение подключается к удаленному серверу и ждет, пока тот отправит что-либо в ответ, а потом переподключается и ждет снова. Это эффективный и очень экономный в плане заряда батареи способ, который в том числе используется в механизме push-уведомлений самого Android.

В теории все выглядит отлично, архитектура приложения абсолютно правильная, вот только, если начать его тестировать, вскроется несколько очень неприятных моментов.

Режимы энергосбережения Android

В Android 4.4–5.1 (версии ниже мы рассматривать не будем - они стремительно устаревают) служба будет работать и моментально откликаться на запросы сервера, но только до тех пор, пока экран включен. Через несколько секунд после отключения экрана смартфон перейдет в режим сна (suspend), и промежуток между отправкой запроса и ответом нашего приложения будет составлять примерно минуту. Это срок между maintenance-пробуждениями устройства, и повлиять на него мы не можем.

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

Хорошие новости в том, что Doze работает общесистемно и включается спустя час после отключения экрана и только если не трогать смартфон (в 7.0–7.1 можно и трогать), а отключается сразу после разблокировки смартфона, подсоединения к заряднику или движения смартфона (опять же не в 7.0–7.1). То есть можно надеяться на то, что хотя бы днем наш сервис будет работать нормально.

Плохие же новости в том, что, помимо Doze, в Android 6.0–7.1 есть и другой механизм энергосбережения под названием App Standby. Работает он примерно так: система следит за тем, какие приложения использует юзер, и применяет к редко используемым приложениям те же ограничения, что и в случае с режимом Doze. При подключении к заряднику все переведенные в режим Standby приложения получают амнистию. К приложениям, имеющим уведомление или права администратора (не root), режим Standby не применяется.

Итого, в Android есть сразу три механизма, с которыми придется бороться:

  • Suspend - обычный режим энергосбережения, может замедлить получение ответа от устройства примерно на одну минуту;
  • App Standby - агрессивный режим энергосбережения, способный замедлить получение ответа на сутки;
  • Doze - агрессивный общесистемный режим энергосбережения, который применяется ко всем приложениям.

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

Сценарий 1. Небольшая задержка в ответе некритична, переход в Doze некритичен

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

Два самых простых способа добиться этого - либо вывести службу на передний план (foreground service), либо дать приложению права администратора устройства. Начнем с первого варианта.

Foreground service

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

Создать foreground service очень просто. Достаточно вставить в код службы примерно такие строки:

Intent notificationIntent = new Intent(this, ExampleActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); Notification notification = new Notification.Builder(this) .setContentTitle(getText(R.string.notification_title)) .setContentText(getText(R.string.notification_message)) .setSmallIcon(R.drawable.icon) .setContentIntent(pendingIntent) .setTicker(getText(R.string.ticker_text)) .build(); startForeground(0, notification);

Этот пример создает уведомление, при тапе на которое будет запущена ExampleActivity, в конце с помощью startForeground() служба переводится в статус foreground.

Права администратора

Другой вариант - это дать приложению права администратора. Такие права обеспечивают возможность управлять политикой формирования паролей экрана блокировки, делать удаленную блокировку и вайп устройства.

В свое время Google ввела понятие «администратор устройства» для компаний, которые хотели бы управлять смартфонами своих сотрудников. То есть компания создает приложение, которое получает права администратора и может заблокировать или сбросить телефон после команды от сервера. Именно поэтому приложение с правами администратора не переходит в режим Standby, ведь команда на блокировку может прийти в любой момент.

Получить, а точнее запросить права администратора опять же просто. Для начала нам понадобится пара колбэков, которые будут вызваны после того, как права получены или отозваны:

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!

Понравилась статья? Поделиться с друзьями: