Не давать спать процессору андроид
Разработчики операционной системы Android представили в ней массу программных функций, направленных на длительное поддержание автономной работы. В числе подобных особенностей присутствует спящий режим, который включается автоматически при длительном бездействии и может управляться через настройки девайса.
Как настроить спящий режим
В Android присутствует малое число настроек режима сна, что понятно даже по невозможности его отключить без скачивания сторонних программ во многих прошивках. Тем не менее, немалой доли внимания заслуживает возможность запрета перевода девайса в режим сна во время его подзарядки. Это возможно через скрытый раздел параметров:
Теперь во время зарядки устройства спящий режим не будет активироваться самостоятельно.
Сценарий 2. Небольшая задержка в ответе некритична, в режиме Doze сервис должен работать
Проблема с предыдущим сценарием в том, что, хотя приложение и не будет переходить в состояние Standby, режим Doze продолжит на него действовать. К счастью, Android позволяет частично отключить Doze для выбранных приложений и даже предоставляет средства для вывода диалога с запросом на добавление приложения в список исключений. Все, что нужно сделать, — это вызвать следующий интент:
Плюс добавить такую строку в Manifest.xml:
Если юзер согласится добавить приложение в исключение, нажав «Да», наша служба сможет работать с Сетью и устанавливать вейклоки (partial wakelock), даже когда смартфон находится в режиме Doze.
Проблема этого подхода только в том, что Google не пропустит такое приложение в Play Store. Точнее, она должна его пропустить, если подобная функциональность действительно необходима приложению (об этом ясно сказано в документации). Но по факту робот Гугла сразу отшибает любые приложения с пермишеном REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
Обойти эту проблему можно, если вместо того, чтобы напрямую просить юзера добавить приложение в список исключений, просто кинуть его на экран управления исключениями Doze (Настройка → Батарея → Меню → Экономия заряда батареи), предварительно предупредив, что юзер должен сам найти приложение в списке и выключить для него режим энергосбережения. Сделать это можно с помощью такого метода:
Окно исключений режима Doze | Окно исключений режима Doze |
Окно исключений режима Doze |
Отключить геолокацию
Сегодня практически в каждом смартфоне реализована функция GPS, позволяющая определять местоположение в режиме реального времени. Нуждаются в ней далеко не все пользователи, а между тем, модуль работает в фоновом режиме, отсылая информацию о местоположении пользователя в различные сервисы, в том числе и Google, отбирая при этом ценные ресурсы.
Когда потребность в использовании службы отсутствует, ее целесообразно отключить. Сделать это можно двумя способами. В первом случае нужно провести пальцем по экрану сверху вниз, чтобы получить доступ к панели задач. Найти значок GPS (Геолокация, Местоположение) и, коснувшись его, перевести в неактивное состояние.
Во втором случае нужно поступить немного по-другому.
Добиться существенного прироста скорости работы операционной системы вряд ли удастся, но поможет освободить несколько мегабайт.
Как отключить спящий режим на Android
Сбросить до заводских настроек
Если предыдущие способы не помогли добиться желаемого эффекта, можно прибегнуть к последнему средству – сбросу настроек операционной системы до заводских параметров, сделав резервную копию всех пользовательских данных. Для выполнения «отката» понадобится:
После перезагрузки понадобится заново пройти процедуру первичной настройки Андроида, после чего проверить, увеличилась ли производительность телефона.
Итак, существует целый арсенал инструментов для оптимизации работы операционной системы Android, и увеличения производительности устройства. Но даже после прочтения данных рекомендаций, будет невозможно выполнить ускорение работы Андроида в полноценной мере. В этом случае причина может крыться не в программной составляющей, а в том, что аппаратная часть безнадежно устарела. Выходом из положения в этом случае станет покупка нового смартфона.
Отключить лишние фоновые процессы
Многозадачность позволяет быстро переключаться между различными программами, однако, это негативно отражается на производительности. Кроме того, службы, в отличие от собственно приложений, могут продолжать работать даже после закрытия апплета и самостоятельно запускаться после очередного включения смартфона. Большое количество процессов, выполняемых в фоновом режиме, влияет на потребление оперативной памяти и расход заряда аккумулятора.
Чтобы отключить ненужные службы, понадобится:
- Открыть системное меню и вызвать «Настройки»;
- Перейти к разделу «Приложения»;
- В открытом разделе провести пальцем справа-налево, чтобы попасть во вкладку «Работающие» или «Запущенные»;
- Закрыть по своему усмотрению процессы, которые в данный момент не используются.
На данной странице можно также отключить многие программы, которые используются крайне редко. Для этого нужно коснуться неактуального приложения и перейти на страницу с информацией о нем. Нажать на клавишу «Остановить» или «Отключить» (названия могут отличаться в зависимости от версии ОС).
Во время отключения фоновых процессов не стоит закрывать системные службы – это может привести к дестабилизации работы смартфона. Чтобы не тратить время на выполнение рутинной процедуры, можно доверить это специальным приложениям, которые можно найти в фирменном магазине Play Маркет на Андроиде.
Выноски: INFO
Как работает отключение приложений. После нажатия на кнопку «Отключить» вызывается метод setApplicationEnabledSetting() класса PackageManager, который изменяет состояние приложения на COMPONENT_ENABLED_STATE_DISABLED_USER (кстати говоря, он появился еще в первом Android).
Сценарий 3. Задержка в ответе недопустима, в режиме Doze сервис должен работать
К сожалению, даже если ты добавишь приложение в исключения Doze, ты все равно не избежишь задержки в ответе. Одна минута может быть некритична для большинства приложений, но, если речь идет о чем-то вроде мессенджера, никакая задержка не допустима.
Реализация push-уведомлений выходит далеко за рамки этой статьи, поэтому я не буду рассказывать о ней, но поделюсь некоторыми советами.
- Push-уведомления должны быть реализованы средствами Firebase Cloud Messaging (FCM, ранее Google Cloud Messaging) или с помощью библиотек и сервисов на основе этой технологии.
- Уведомления должны быть высокоприоритетными, иначе они не смогут вытащить твое приложение из Doze.
- Твое приложение должно находиться в списке исключений Doze, иначе, проснувшись после получения push, оно не сможет выйти в Сеть.
- Самый простой способ реализации push-уведомления — это сервис OneSignal. Он построен на базе FCM, очень легко интегрируется в приложение и предоставляет безлимитное количество пушей даже в бесплатной версии.
Права администратора
Другой вариант — это дать приложению права администратора. Такие права обеспечивают возможность управлять политикой формирования паролей экрана блокировки, делать удаленную блокировку и вайп устройства.
В свое время Google ввела понятие «администратор устройства» для компаний, которые хотели бы управлять смартфонами своих сотрудников. То есть компания создает приложение, которое получает права администратора и может заблокировать или сбросить телефон после команды от сервера. Именно поэтому приложение с правами администратора не переходит в режим Standby, ведь команда на блокировку может прийти в любой момент.
Получить, а точнее запросить права администратора опять же просто. Для начала нам понадобится пара колбэков, которые будут вызваны после того, как права получены или отозваны:
А затем достаточно вызвать интент DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN, который приведет к появлению на экране окна для активации прав администратора:
Запрос на активацию прав администратора и окно управления администраторами | Запрос на активацию прав администратора и окно управления администраторами |
Запрос на активацию прав администратора и окно управления администраторами |
Сценарий 1. Небольшая задержка в ответе некритична, переход в Doze некритичен
В этом сценарии у тебя есть приложение, для которого задержка в ответе до одной минуты некритична, а переход смартфона в режим агрессивного энергосбережения совсем не страшен. Все, что тебе нужно, — это чтобы система не отправляла приложение в состояние Standby.
Два самых простых способа добиться этого — либо вывести службу на передний план (foreground service), либо дать приложению права администратора устройства. Начнем с первого варианта.
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.
В статье я попробую разобраться, действительно ли современные смартфоны потребляют слишком много энергии и на самом деле им нужно намного меньше. Сначала рассмотрим методы сбережения энергии, которые уже применяются в операционной системе Android, и насколько сильно они позволяют снизить общие траты энергии. Затем попробуем применить популярные способы энергосбережения, о которых часто говорят на форумах и пишут в блогах, и посмотрим на результат. В конце применим тяжелую артиллерию в виде таких методов, как андервольтинг и даунклокинг. Поехали.
Введение
Google непрестанно повышает быстродействие своей системы. Но «чистый» Android сейчас встречается достаточно редко — производители, как правило, модифицируют прошивки, что не всегда положительно сказывается на производительности. К тому же помимо нее хорошо бы позаботиться об энергосбережении, а это зачастую вещи взаимоисключающие. Тем не менее такие возможности есть даже в нерутованном Android, хоть их и не очень много.
Включить компилятор ART
Еще одним способом ускорить работу телефона на Андроиде считается выбор среды преобразования. В современных гаджетах по умолчанию установлен компилятор Dalvik, но если обратиться к режиму разработчика, можно выбрать более экономичный компилятор ART. В отличие от первого он преобразовывает файлы не при каждом открытии приложения, а лишь в момент его установки на устройство, и больше к этому процессу не возвращается к этому процессу.
Для перехода на компилятор ART понадобится:
- Открыть «Настройки» и перейти в раздел «Для разработчиков»;
- Далее найти пункт «Выбери среду» и тапнуть по нему;
- Выбрать компилятор ART;
- Внимательно ознакомиться с появившейся информацией и согласиться с ней.
Дождаться принудительной перезагрузки устройства, которая в отличие от обычной процедуры может занять 20-30 минут.
Отключить Яндекс Алису
Голосовой помощник Алиса по умолчанию встроен в Яндекс Браузер, но поскольку он может случайно запускаться, мешать просмотру информации, а главное, тормозить работу телефона, он не всем нравится. Простым решением избавиться от ассистента может стать простое отключение Яндекс Алисы на Андроиде.
Делается это следующим образом:
Ускорение отдельных устройств — советы и секреты
Приведу несколько советов по самым известным брендам. Стоит отметить, что советы эти годятся только для официальных прошивок, поэтому если у тебя модифицированная прошивка — можешь смело пропускать раздел.
Samsung
Если ты владелец какого-либо из устройств данного бренда, то наверняка обратил внимание, что переход на основной экран по нажатию кнопки Home немного тормозит. Связано это с тем, что по двойному нажатию запускается S Voice — система распознавания речи. Если ты ею не пользуешься, можно отключить эту функцию, сняв чекбокс «Откр. клавишей „Домой“». Кроме того, если ты случайно включил команду пробуждения, лучше ее отключить — использование этой опции влияет на заряд батареи довольно сильно.
Кроме того, на некоторых устройствах Samsung имеется возможность отключения эффектов лаунчера. Для этого сделай долгий тап по пустому месту на домашнем экране, выбери «Настройки домашнего экрана» (Home screen settings) и в подменю «Эффект перехода» (Transition effect) выбери «Нет» (None).
Легковесные программы для Android
Приведу краткий список легковесных аналогов нужных программ для Android. Список этот минимальный, включающий только самое, на мой взгляд, необходимое:
- Вместо Google Maps можно использовать RMaps. Мало того что это приложение легковеснее, так еще и гораздо более функционально.
- Громоздкий Adobe Reader можно заменить Mupdf.
- Читалок достаточно много. Из легковесных могу посоветовать AlReader и FBReader.
- Из браузеров можно поставить Lighthing Browser, де-факто представляющий собой облегченный стандартный.
- Чрезвычайно тяжелый клиент RSS-ридера Feedly лучше заменить на легкий FeedMe (осторожно, только для смартов).
Стандартные средства энергосбережения
Среди пользователей смартфонов витает миф о том, что на самом деле мобильные устройства должны жить гораздо дольше, чем сейчас, и настоящая проблема не в мощностях, а в головотяпстве разработчиков 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). Вся эта работа не может не отразиться на времени работы от батареи, и именно в эту сторону следует смотреть, говоря о продлении жизни от аккумулятора.
Отключить анимацию на телефоне
Довольно известный трюк, который не влияет на скорость выполнения задач, но сокращает время перехода между экранами и приложениями. Чтобы получить доступ к необходимым инструментам, понадобится предварительно включить режим разработчика в системных настройках телефона.
Для активации режима следует:
Теперь можно покинуть меню и убедиться, что ускорение дало свои результаты: файлы и программы стали открываться в несколько раз быстрее.
Чтобы еще больше оптимизировать работу Андроида, можно отказаться от установки на экран блокировки «живых» обоев. Эта красивая функция поглощает не только оперативную память, но и расходует заряд батареи.
Еще одним вариантом является удаление лишних виджетов – интерактивных иконок с расширенным функционалом, которые устанавливаются на главный экран. Несмотря на кажущуюся пользу, многие из них работают в фоновом режиме в поисках новой информации или обновлений.
Когда не следует отключать спящий режим
Как мы уже упомянули, не стоит выключать режим сна на Андроиде, если на это нет никаких причин. Кроме того, даже когда вы сталкиваетесь с частым отключением экрана, более подходящим решением выступает выставление большого временного ограничения, лишь по истечении которого активируется эта особенность. Собственно, на данный момент и намекают разработчики Android и некоторых прошивок, включая используемый в «Самсунгах» One UI.
Спящий режим призван уменьшить расход батареи. Ошибочно полагать, что после его отключения время работы телефона в автономном режиме повысится.
Проверить на наличие вирусов
Одной из проблем снижения производительности устройства на платформе Android являются вирусы и прочее вредоносное ПО. Поскольку стандартные средства разработчики не предусмотрели, избавиться от подобного можно с помощью сторонних инструментов. Самым простым и надежным вариантом являются онлайн-сервисы, предоставляющие средства для проверки, как операционной системы, так и просто файлов перед загрузкой. Наиболее популярными на сегодняшний день являются:
Также ранее мы уже рассказывали, как проверить Андроид на вирусы, и какие сервисы и программы для этого использовать.
Автоматизация
Для сохранения заряда аккумулятора настоятельно рекомендуется использовать приложения для автоматизации, такие как Tasker или Locale. С их помощью можно настроить автоматическое включение режима полета по ночам, отключение передачи данных при достижении определенного уровня заряда батареи, снижение яркости до минимума в вечернее время и многое другое. Практически любая софтина для экономии энергии из маркета может быть заменена этими инструментами, при том что ты будешь иметь полный контроль над происходящим.
Tasker умеет управлять множеством настроек в полностью автоматическом режиме
Ускорение приложений
Для ускорения отдельно взятых приложений можно почистить их кеш. Делается это в том же месте, где их можно отключать/удалять, то есть «Настройки -> Общие -> Диспетчер приложений -> Все», выбрать нужное тебе приложение и нажать кнопку «Очистить кеш».
Имеет также смысл ставить менее ресурсоемкие приложения — например, в моем случае Smart Launcher забирает меньше памяти, чем это делает родной самсунговский TouchWiz. Во врезке будут приведены конкретные советы, но особо следовать им я не рекомендую, поскольку все зависит от твоих потребностей. Главное в этом случае — подобрать нужное соотношение размер/функциональность.
Для определения потребления памяти можно использовать такой метод: устанавливаем какой-нибудь терминал с Busybox, определяем PID нужного процесса (с помощью 'ps w') и смотрим файл /proc//status. При этом, правда, нужно учитывать архитектуру Android — приложение может быть разнесено по нескольким процессам.
Если для тебя этот метод слишком трудный и ты не хочешь заморачиваться с каждым приложением — в маркете есть несколько графических аналогов утилиты top. Мне понравился один из них, под названием Process Explorer, реализация которого, правда, показалась непонятной — зачем для просмотра списка процессов использовать браузер?
Кстати, у сервиса Google Play есть привычка внезапно обновлять кучу приложений, что, понятно, съедает ресурсы. Отключить данный сервис не представляется возможным, но можно отключить само обновление. Для этого заходим в Play Маркет, вызываем меню (хинт: если не выходит вызвать с помощью софт-клавиш, «потяни» с левого края), выбираем «Настройки» и ставим в «Автообновление приложений» «Никогда».
Точно так же имеет смысл отключить и синхронизацию учетных записей (что, в дополнение к возможному увеличению быстродействия, потешит твою паранойю). Для этого заходим в «Настройки» и ищем, где находится пункт «Учетные записи», затем выбираем учетную запись и отключаем синхронизацию (как вариант, можно отключить только отдельно взятые и ненужные типы синхронизации, такие как, например, контакты Google+ или календарь. — Прим. ред.).
Пять вредных советов по энергосбережению
Вместо выводов
В целом описанные в статье методы могут продлить жизнь от батареи как минимум на полдня (при средней интенсивности использования), а при тотальном отключении всех видов синхронизации и удалении ненужных приложений — еще больше. Выполнить рекомендации не трудно, а эффект значительный.
Настройки смартфона
«Чистая» прошивка
Если производитель смартфона не изменял образ операционной системы, вы не сможете полностью отключить режим сна, не загружая дополнительный софт. Впрочем, ничто не мешает выставить большой временной лимит, по истечении которого будет активироваться данная функция:
Изменения будут применены моментально. Они не сбросятся после перезагрузки смартфона, поэтому в дальнейшем возвращаться к этим параметрам вряд ли понадобится.
Samsung
Новые планшеты и смартфоны данного южнокорейского бренда работают на оболочке One UI, для пользователей которой актуален следующий порядок действий:
Как видно, здесь тоже нет возможности отключить спящий режим на Андроиде посредством панели управления телефоном (или, как видно по скриншотам, планшетом).
Xiaomi
Девайсы с прошивкой MIUI – одни из немногих устройств, для которых доступно полное отключение спящего режима через меню настроек. Достаточно следовать этой инструкции:
Обратите внимание: в старых версиях прошивки этой кнопки нет, поэтому понадобится использовать сторонние приложения для полной деактивации спящего режима.
Huawei и Honor
Если ваш телефон выпущен одним из этих брендов, скорее всего он использует прошивку EMUI (исключение – старые модели). Вы можете деактивировать режим сна на телефоне через раздел настроек. Инструкция выглядит практически идентично той, что представлена у Xiaomi.
В случае с Magic UI порядок действий является точно таким же.
Вместо выводов
С каждой новой версией Android Google все больше ограничивает разработчиков приложений в возможностях. Однако обходные пути всегда можно отыскать. Да, порой эти пути больше напоминают извилистые лесные тропы, чем автомагистраль. Но они есть, и Google не закрывает все возможные пути реализации функциональности, намеренно оставляя лазейки.
Обновить операционную систему
Сделать это можно следующим образом:
Подождать несколько минут, пока устройство обратится к базам данных разработчика. Если новая версия будет найдена, понадобится сразу же ее установить. Не лишним будет отслеживание обновлений приложений, особенно эмуляторов, а также сервисов Google Play, которые выполняют мониторинг всех процессов на смартфоне.
Андервольтинг
Теперь поговорим о тяжелой артиллерии. Ни для кого не секрет, что один из самых прожорливых компонентов смартфона — это процессор. Его энергопотребление может быть даже больше потребления экрана (а точнее, его подсветки), и все потому, что он работает на очень высоких частотах, которые требуют подачи высоких напряжений. Поначалу может показаться, что сохранить жизнь от батареи в этом случае можно, просто понизив максимальную частоту работы процессора и отключив «лишние» ядра. Однако, скорее всего, это ни к чему не приведет: несмотря на пониженное потребление энергии, процессор будет исполнять код дольше, и в конечном счете энергопотребление может даже возрасти.
Это вполне стандартная ситуация
Вместо этого следует провести операцию андервольтинга, то есть просто понизить максимальное подаваемое напряжение для всех возможных частот. Для этого необходимо установить кастомное ядро с поддержкой данной функции. О том, как это сделать и какое ядро выбрать, я во всех подробностях рассказывал в одном из предыдущих номеров журнала, поэтому не буду повторяться, а просто скажу, что если у тебя один из нексусов, то достаточно установить franco.Kernel updater и с его помощью скачать и установить ядро. Все происходит в автоматическом режиме.
Далее устанавливаем платную версию Trickster MOD (бесплатная не сохраняет настройки напряжений) или CPU Adjuster; для ядер franco также подойдет платный franco.Kernel updater. Переходим на страницу регулировки вольтажа (в Trickster MOD нужные настройки находятся внизу четвертой страницы) и начинаем аккуратно убавлять по 25 мВ для каждой из возможных частот процессора. После убавления сворачиваем приложение и некоторое время тестируем смартфон, запуская тяжелые приложения, затем снова убавляем и снова тестируем.
До и после тюнинга вольтажа
В 90% случаев процессор без всяких последствий выдержит понижение на 100 мВ, а это даст нам дополнительный час-два в режиме активного использования. Если тебе повезет, то процессор сможет выдержать и –150, а в особо счастливых случаях даже –200, все зависит от партии процессора и конкретного экземпляра. Слишком сильное занижение напряжения приведет к перезагрузке, после которой достаточно будет поднять напряжение на 25 мВ и сохранить значение в дефолтовом профиле (в Trickster MOD это кнопка «Профиль» сразу над значениями).
- Trickster MOD: goo.gl/rws8vq
- CPU Adjuster: goo.gl/6btoc0
- franco.Kernel updater: goo.gl/ROg9Cg
- Роб Пайк о дизайне регистровой виртуальной машины: goo.gl/hBlyQc
Смартфон с AMOLED-экраном будет работать дольше, если использовать приложения с черным фоном. Чтобы сделать системные приложения темными, можно использовать прошивку AOKP или один из модулей Xposed.
Зачастую механизм автоматической регулировки яркости экрана выставляет слишком высокие значения. Если управлять яркостью вручную, можно продлить жизнь смартфона еще на пару часов.
Продвинутые функции фирменных прошивок некоторых производителей смартфонов, такие как управление жестами, голосовое управление или автоматическое включение экрана, приводят к чрезмерному расходу заряда аккумулятора. По возможности их следует отключить.
Поменять лаунчер или отключить его
На одном устройстве может быть установлено несколько оболочек, и если одна из них по каким-либо причинам не подходит, ее легко можно заменить другой.
Чтобы сменить лаунчер на Android-устройстве, нужно:
- Открыть «Настройки» любым удобным способом;
- Перейти в раздел «Приложения и уведомления»;
- Тапнуть по опции «приложения по умолчанию»;
- Отыскать пункт «Главный экран» и открыть его;
- На экране появится список софта, который подходит в качестве альтернативы используемому лаунчеру;
- Выбрать подходящий вариант, коснувшись названия.
В этот момент будут применены изменения.
Не использовать приложения для оптимизации
Одной из функций утилит является очистка памяти, которая может привести к принудительному закрытию приложений и потере важных данных. Разумеется, случаев, когда подобная программа превратила смартфон в «кирпич» не известны, но на форумах имеется много жалоб на удаление полезных файлов. К тому же оптимизаторы работают в фоновом режиме, мешая процессору перейти в «спящий» режим. В итоге аккумулятор разряжается быстрее, а поскольку программа расходует часть ресурсов, притормаживается работа других служб.
Яркость дисплея изменяется
Скорее всего, в настройках приложения вы разрешили плавное затухание экрана, которое делается «Андроидом» за несколько секунд до перехода в режим сна. Уберите эту настройку, которая называется «Allow dim» или похожим образом (зависит от используемого ПО).
Спящий режим – очень полезная функция, которую не рекомендуется отключать. Если же это необходимо, вы можете последовать перечисленным в статье инструкциям.
Давным-давно, когда Android еще не был мейнстримом, любой разработчик мог написать приложение, которое сможет спокойно висеть в фоне и в режиме реального времени обмениваться данными с сервером. Но чем дальше, тем более жесткие техники сохранения энергии применяет Google, и сегодня так просто сетевое реалтаймовое приложение уже не реализуешь. Однако есть несколько трюков, которые позволяют это сделать.
Давай представим, что у нас есть приложение, а у него, в свою очередь, есть служба (service), которая должна постоянно висеть в фоне, обрабатывать команды, полученные от сетевого сервера, и отправлять ответы. Связь с сервером, как это и положено мобильным устройствам, поддерживается с помощью long poll запросов, то есть приложение подключается к удаленному серверу и ждет, пока тот отправит что-либо в ответ, а потом переподключается и ждет снова. Это эффективный и очень экономный в плане заряда батареи способ, который в том числе используется в механизме push-уведомлений самого Android.
В теории все выглядит отлично, архитектура приложения абсолютно правильная, вот только, если начать его тестировать, вскроется несколько очень неприятных моментов.
Отключение сканирования мультимедиа
По умолчанию Android сканирует все внешние накопители (SD-карты) на предмет мультимедиафайлов. Данная функция, хотя и полезна, достаточно сильно тормозит систему. Отключить ее можно. Для новых накопителей создаем пустой файл .nomedia в корне. Но чтобы отключить отображение уже имеющихся файлов в Android 4.0 и позднее, нужно, помимо создания данного файла в нужной тебе папке, произвести очистку данных и кеша для приложений «Галерея» и «Хранилище мультимедиа» и принудительно их остановить. После следующего запуска все мультимедиафайлы проиндексируются уже с учетом созданных файлов .nomedia.
Foreground service
Foreground service в терминологии Android — это служба, которая имеет уведомление в шторке. Система относится к таким службам гораздо бережнее. Например, при нехватке памяти она будет убита в последнюю очередь, она не будет убита при смахивании приложения в меню управления запущенными приложениями, и да, к ней не будет применен режим Standby.
Создать foreground service очень просто. Достаточно вставить в код службы примерно такие строки:
Этот пример создает уведомление, при тапе на которое будет запущена ExampleActivity, в конце с помощью startForeground() служба переводится в статус foreground.
Отключить автоматическую синхронизацию
Одной из причин замедления работы операционной системы Android может стать синхронизация с облачным сервисом, куда регулярно отправляются резервные копии контактов, переписки в мессенджерах, фото, аудио и видеофайлов, настроек апплетов и прочих данных, хранящихся в памяти телефона.
Чтобы избавиться от источника замедления работы смартфона, нужно:
- Обратиться к меню «Настройки»;
- Отыскать пункт «Учетные записи» или «Синхронизация»;
- Перейти в раздел и деактивировать опцию «Автоматическая синхронизация данных» для всех видов файлов или выбрать определенные приложения, в которых эту функцию нужно отключить.
Отключить функцию энергосбережения
Функцию энергосбережения многие считают полезной и, действительно, она позволяет немного увеличить продолжительность работы телефона от одного заряда батареи, что актуально в длительном путешествии или отсутствии розетки или зарядного устройства. Однако постоянно включенная опция негативно влияет на скорость выполнения системных процессов, а загрузка приложений, игр, фильмов может вообще оказаться невозможной.
Для отключения режима контроля потребления энергии АКБ на Android-телефоне понадобится:
- Перейти в меню системных параметров «Настройки» и выбрать раздел «Аккумулятор/Батарея»;
- В открывшемся меню ознакомиться со статистикой питания девайса, графиком зарядки, после чего обратить внимание на собственно режим энергосбережения;
- Оставить включенной опцию «Энергосбережение в режиме ожидания», поскольку она активируется в моменты, когда устройство не используется;
- Отключить опцию «Постоянное энергосбережение», если нужды в более долгой работе батареи нет.
При наличии возможности параметры сбережения энергии целесообразно настроить более детально.
Что дает root? (слово редактора)
Примерно год назад я написал статью об ускорении работы новых версий Android на устаревших аппаратах. В ней я рассказал о нескольких требующих прав root приемах, с помощью которых можно поднять производительность смартфона путем выгрузки из оперативной памяти всех некритичных для работы компонентов системы. Если кратко, то в статье было приведено пять основных методов:
Всем известно, что смартфоны на базе Android – это бюджетные устройства с доступной ценой и ограниченным сроком эксплуатации. Пользователи не понаслышке знают, что спустя некоторое время гаджеты начинают работать чуть медленнее. Как правило, первые признаки «притормаживания» появляются уже спустя год-полтора после покупки. С течением времени этот процесс только усиливается – приложения становятся более продвинутыми, тогда как «железо» остается прежним. И тогда возникает дилемма: отправляться за покупкой нового смартфона или ускорить работу существующего телефона. Существует много способов оптимизации работы Android-устройства, о которых должен знать каждый.
Типичные советы
Пройдя по списку самых энергозатратных приложений с помощью Wakelock Detector, легко понять, что основные причины пробуждения устройства — это разные виды синхронизации и регулярное обновление информации о местоположении. Это значит, что, отключив эти функции полностью, можно избавиться от большинства случаев пробуждения и серьезно сэкономить батарею.
Последние версии Android не позволяют отключить определение местоположения полностью, но зато могут использовать очень консервативный и почти не влияющий на жизнь смартфона режим под названием (сюрприз!) «Экономия заряда батареи», который обновляет информацию только тогда, когда происходит подключение к Wi-Fi-сети или переход на другую сотовую вышку.
Если приложение садит аккумулятор, а удалять его нельзя и в настройках нет опций синхронизации или автообновления, то его можно просто заморозить. Делается это с помощью великолепного приложения под названием Greenify. Оно подавляет возможность приложения просыпаться самостоятельно и заставляет его работать только тогда, когда ты сам этого захочешь. Пользоваться очень просто. Запускаем Greenify, нажимаем на кнопку + в левом нижнем углу и видим, какие приложения дольше всего работают в фоне. На скриншоте видно, что наиболее прожорливые — это OTransfer Target, используемый для удаленного включения переадресации (оно вообще постоянно бодрствует), а также Beautiful Widgets и Carbon, которые периодически просыпаются для разного рода синхронизаций. OTransfer Target я ставил для теста, так что могу спокойно его удалить (оно, кстати, также есть в числе «лидеров» в Wakelock Detector). Beautiful Widgets просыпается для обновления виджета на рабочем столе, поэтому его я оставлю в покое. А вот Carbon, занявший пятое место по версии Wakelock Detector, можно заморозить. Для этого достаточно просто тапнуть по имени и нажать галочку в правом верхнем углу.
Greenify подскажет, какие приложения чаще пробуждают устройства
Экран все равно отключается
Проблема актуальна только при пользовании сторонним софтом. Прежде всего, проверьте, возможна ли деактивация спящего режима через параметры устройства. Если это так, следует выставить этот параметр в настройках гаджета. В противном случае найдите другое приложение, поскольку время от времени обновления, выпускаемые «Гуглом», «ломают» старую функциональность, и не факт, что давно выпущенный софт подойдёт для вашего устройства (впрочем, в случае с перечисленными выше приложениями никаких проблем на относительно новом планшете Galaxy Tab S6 не возникло).
Если вы нашли подходящую программу, просим поделиться информацией о приложении и используемом устройстве в комментариях под этой записью.
Бессонница
Перед тем как перейти к рассказам о техниках оптимизации, я должен налить еще немного воды и рассказать о том, что такое 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 Detector
Другие статьи в выпуске:
Dropsync и его долгие wakelock’и
OnLive можно пропустить, так как 18 минут бодрствования были вызваны некорректным закрытием приложения (из него надо выходить по всем правилам). Далее идет «Google Поиск», приложение, которое, кроме всего прочего, включает в себя Google Now. Тапаем по нему и видим, что два самых активно используемых wakelock’а — это NlpWakeLock и EntriesRefresh_wakelock. Это уже сложнее, и разобраться, что же на самом деле происходит при их установке, довольно сложно. Поэтому долго удерживаем палец на имени wakelock’а, выбираем «Поиск» и смотрим, что нашел браузер. Уже на второй найденной странице есть пояснение, что NlpWakeLock устанавливается в тот момент, когда изменяется положение смартфона относительно сети (3G, Wi-Fi), после чего Google Now отправляет информацию о местоположении на сервер. Второй wakelock, судя по всему, используется для обновления карточек в Google Now. Одновременно решить проблему прожорливости в обоих случаях можно, просто отключив «Google Поиск» в «Настройки -> Приложения -> Все». Для решения первой — выключить определение местоположения в настройках Android.
Для синхронизации тоже требуется установка wakelock
Использовать программу Greenify
Среди программ-оптимизаторов исключением является Greenify. Для полной автоматизации работы апплета необходимо получить на смартфоне Root-доступ. Чем же хороша программа?
- Существенно продлевает время работы Android-устройства от одного заряда батареи;
- Позволяет задавать индивидуальные настройки для каждой программы на смартфоне;
- Работает незаметно в фоновом режиме, но при этом потребляет минимум ресурсов;
- Не влияет не производительность ОС, не создает дополнительной нагрузки на девайс.
Принцип работы Greenify прост: она переводит запущенные приложения в режим гибернации. Это означает, что все файлы, находящиеся в оперативной памяти, помещаются на время в специальную папку. Она снабжена инструкцией по выгрузке файлов, в итоге после возврата в нормальный режим разряда батареи не происходит. Установить программу на смартфон можно из магазина Play Маркет или же с официального сайта Google Play.
Сторонние приложения
Вы можете использовать решения от разработчиков программного обеспечения для предотвращения автоматического перевода девайса в спящий режим.
Stay Alive!
Одно из самых известных приложений среди пользователей, сталкивающихся с проблемами со сном девайса, обладает понятным интерфейсом, а также совместимо с Android 2.1 и более новыми версиями, включая современный одиннадцатый релиз системы.
Кнопки для быстрого управления программой будут отображаться на панели нотификаций. Вы можете скрыть уведомления от этого приложения, удержав палец на оповещении и выбрав «Скрывать все». В таком случае возможность быстро отрегулировать настройки спящего режима исчезнет, и для изменения опций понадобится открыть программу.
Stay Awake
Программа с похожим наименованием, как у предыдущего решения, тоже поможет избежать автоматических отключений экрана.
Есть платная версия, при наличии которой можно управлять работой программного обеспечения через панель уведомлений. Также заявляется, что в ней нет рекламы, однако мы не нашли никаких объявлений и в обычном, не PRO-релизе.
Screen ON
Это приложение, как и вышеперечисленный софт, поможет в отключении спящего режима.
-
. Откройте программу после её скачивания;
- Нажмите «ОК», чтобы закрыть предупреждение о предназначении софта для старой версии «Андроида»;
- Скройте окно с информацией о недавно внесённых изменениях;
- Выберите вариант действий по истечении тайм-аута, установленного в параметрах операционной системы. Поддерживаются следующие решения: «Сохранить яркость», «Погасить экран» (Android делает это автоматически за несколько секунд до выключения дисплея), «Увеличить яркость до максимума», «Снизить яркость до минимума», «Задать свои параметры яркости». Отметьте подходящее действие в списке самостоятельно или, если не знаете, что лучше, оставьте значение, стоявшее по умолчанию, – первое. Затем тапните кнопку Start;
- Проведите свайп вправо для перехода к расширенным настройкам. Выставите дополнительные параметры, если это потребуется. Например, полезно будет активировать функцию «Auto Start on boot». К сожалению, она работает только в платной версии программы, как и все представленные в этом разделе возможности.
Заключение
Несмотря на гибкость платформы Android, без использования кастомных и/или рутованных прошивок ускорить работу твоего девайса трудно. Но не невозможно, доказательством чего служит данная статья. Напоследок дам тебе универсальный совет: устанавливай только те приложения, которые ты реально будешь использовать, всем же остальным говори твердое «Нет».
Как ускорить работу телефона на Андроиде
Если телефон, который на момент покупки был новинкой, начал работать медленнее, и с трудом справляться с текущими задачами, его можно заменить новой, более продвинутой моделью. Но если желания купить новый гаджет не возникает, можно попробовать ускорить работу действующего аппарата. Для этого нужно внимательно ознакомиться с подробным руководством и попытаться применить все способы на практике.
Включить рендеринг GPU
Чтобы рассмотреть еще один вариант ускорения работы операционной системы Android, понадобится еще раз воспользоваться меню разработчика. На этот раз с его помощью нужно будет активировать рендинг с использованием аппаратного модуля GPU. После завершения процесса для обработки любых графических процедур будут использоваться не программные инструменты, а встроенный процессор. Для активации нужно:
С этого момента визуализация пользовательского интерфейса станет более быстрой, а анимация максимально плавной. Важно помнить также, что в данном режиме заряд будет расходоваться на 5-10% быстрее.
Очистить кэш на Андроиде
Кэш на Андроиде – это данные приложений, которые помогают им быстрее загружаться, ускоряя работу операционной системы. Браузер кэширует изображение часто посещаемых сайтов, чтобы не загружать их при каждом посещении ресурсов. Кэш – временные файлы, которые имеют способность накапливаться, занимая место в хранилище, в результате чего негативно влияет на работу телефона.
У тех приложений, где кэш стал неприемлемо «раздутым», его рекомендуется удалить. Для этого нужно:
Если очищать кэшированные денные вручную нет времени или желания, можно воспользоваться сторонними утилитами, например, Ccleaner.
Удалить все лишние программы и игры
Одной из особенностей использования смартфона на платформе Android является возможность устанавливать неограниченное количество игр и приложений как из магазина Play Маркет, так и из сторонних источников. Со временем неиспользуемые программы остаются висеть «мертвым грузом»: занимают место во внутреннем хранилище и висят в системе фоновых процессов. В итоге работа устройства существенно замедляется.
Для исправления ситуации понадобится перейти в «Настройки» → «Приложения», внимательно изучить список неиспользуемых игр, программ и избавиться от лишних. Чтобы правильно удалить приложение нужно:
Если приложение хотя бы редко, но используется, целесообразно во внешней памяти сохранить файл-установщик, и запускать его, когда программа снова станет нужна.
Удаление/отключение встроенных и ненужных приложений
До выхода четвертой версии Android отключать встроенные приложения, не имея прав root, было нельзя. Это приносило покупателям брендовых гаджетов неудобства, ибо каждый производитель норовит запихнуть в прошивку как можно больше программ, которые конечному пользователю попросту не нужны и в сумме кушают приличное количество ресурсов. В четвертой же версии гуглооси такая возможность появилась. Для отключения какого-либо встроенного приложения нужно зайти в «Настройки -> Общие -> Приложения -> Все», выбрать нужную софтину и в «Сведениях о приложении» нажать кнопку «Отключить» (либо «Удалить обновления», а затем уже «Отключить»). Для включения необходимо перейти на вкладку «Отключенные» и выполнить похожую процедуру.
Однако не все так радужно, как кажется на первый взгляд. Во-первых, отключение не влияет на постоянную память — приложение как было установлено, так и остается. Во-вторых, можно отключить отнюдь не все. Лишь некоторые приложения позволяют проделать с собой такой фокус. Я не буду давать много конкретных советов по отключению приложений, поскольку на каждом устройстве их список отличается. Вот краткий список того, что большинству пользователей не нужно, но постоянно висит в системе и отнимает память:
- «Браузер» — зачем, если есть более удобные и легкие альтернативы?
- «Календарь» и «Память календаря» — не замечал, чтобы кто-то активно ими пользовался.
- «Email» и «Службы Exchange» — вроде все уже сидят на Gmail.
- «Поиск Google» — достаточно бесполезная функция при наличии браузера (осторожно, отключает также и Google Now).
- «Google Keep», «Google+» и другие не всегда нужные приложения от Google.
Помимо этого, рекомендую выключить (удалить) виджеты и живые обои. Кроме того, что эта функциональность требует памяти и процессорного времени, она еще и жрет батарею. Так что для увеличения скорости лучше подобные вещи вырубать. Можно выключить и эффекты на экране блокировки. В моем случае (Samsung со стандартной прошивкой) они находятся в «Настройки -> Устройство -> Экран блокировки -> Эффект при разблокировке».
К слову, о Home Screen — рекомендуется использовать как можно меньше главных экранов. В самом деле, зачем тебе 100500 экранов, если редко используемые приложения можно вызвать и из меню?
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.
Будем честны: большинство интересных возможностей по настройке Droid-девайсов спрятаны и требуют рутования устройства. Тем не менее получать root предпочитают не все — кто-то из боязни потерять гарантию, другие из-за банальной лени. Мы решили рассмотреть альтернативные способы ускорения устройств на платформе от Google, для которых не нужно прав суперпользователя.
Greenify
Приложение Greenify позволяет принудительно усыпить ненужные процессы (которые ты можешь выбрать) в то время, когда устройство спит, и запретить их вызов из сторонних процессов. Этим оно отличается от таск-киллеров, которые никак не препятствуют перезапуску фоновых приложений от внешних событий (по таймеру, требованию другого приложения или системному событию). К сожалению, часть функциональности доступна только на рутованных телефонах — в частности, самая важная функция засыпания приложений спустя несколько минут после засыпания устройства.
Причина в том, что метод forceStopPackage(), который позволяет Greenify перевести приложения в неактивное состояние, внутренний и доступен только системным приложениям или тем, что работают с правами root. В не-root-режиме остается использовать только метод killBackgroundProcesses(), который не выгружает процесс из памяти полностью, так что тому продолжают приходить системные события и «будить» его, что совсем не соответствует идеологии Greenify.
Поэтому для реализации функциональности в не-root-режиме разработчик Greenify пошел по совершенно другому и весьма изобретательному пути. При установке приложение регистрируется как Accessibility Service, получая таким образом доступ к интерфейсу системы, а затем просто вызывает диспетчер приложений и нажимает на нужные кнопки для убийства приложения через стандартное меню настроек Android. Во время спящего режима эта операция, к сожалению, невозможна, поэтому на нерутованных смартфонах Greenify может усыплять приложения только после того, как пользователь нажмет соответствующую кнопку.
В Android 4.4 появилась замена Dalvik — ART, Android Runtime. Она обеспечивает AOT-компиляцию. Для того чтобы разобраться, что это такое и в чем состоит преимущество ART, придется сделать краткий экскурс в историю.
Во времена, когда закладывался фундамент под Android, в качестве языка программирования был выбран Java — в наибольшей степени из-за того, что предполагалось использовать ОС на самых разных платформах. И всем-то он был хорош, кроме одного — скорость работы Java-приложений была достаточно низкой. Происходило это потому, что код фактически интерпретировался.
Шло время. В Android 2.2 в виртуальную машину Dalvik добавили JIT-компиляцию. Это позволило добиться довольно значительного прироста скорости, но всех проблем не решило. И вот в версии KitKat появилась ART, позволяющая компилировать приложения даже не во время исполнения — во время установки. Включить ее можно в том же самом меню разработчика, где мы отключали эффекты. Это, с одной стороны, увеличивает время установки и размер, а также при первом включении требуется значительное время для преобразования всех уже установленных приложений в нативный код. С другой же стороны, увеличение скорости после ее включения в среднем составляет 50%, а для отдельных приложений и того больше (в частности, прокрутка стала гораздо более плавной).
Но есть у ART и недостатки. Некоторые из них очевидны — например, несовместимость с отдельными обфускаторами и приложениями. На отдельных же просто не концентрируют внимание, хотя стоило бы. К таковым я отнесу возможные проблемы с безопасностью. Проведенные относительно недавно (на майской конференции HITB) эксперименты показывают, что в случае подсовывания специально сформированного DEX-файла транслятор (dex2oat) вылетает. Кроме того, если найти уязвимости в самой ART, появится возможность создавать user-mode-руткиты. Помимо этого, образ boot.oat, генерируемый транслятором, имеет фиксированный базовый адрес (0x700000), что позволяет при некоторых условиях обойти ASLR.
В то же время с точки зрения реверс-инжиниринга статический анализ OAT-файлов пока что затруднен — по той причине, что привычных нам имен методов в коде попросту нет. Оно и понятно. Зато, поскольку формат OAT-файлов фактически представляет собой ELF, можно использовать инструменты, предназначенные для последнего, такие как GDB. Что же до динамического. Инструментарий для него как таковой отсутствует.
ART будет включена по умолчанию в пятой версии ОС от Google (а Dalvik, соответственно, будет удалена). На мой взгляд, с учетом потенциальных проблем с безопасностью полностью отказываться от Dalvik рановато, так что тут я с политикой Google не согласен. Однако (с учетом этого) тем более стоит включить ART на KitKat, чтобы протестировать нужные приложения.
Настройка энергосбережения и использование параметров разработчика
Для ускорения работы гаджета можно также подкорректировать параметры энергосбережения. Конечно, это уменьшит время работы от аккумулятора, но ускорить может достаточно существенно. Для этого (в моем случае) нужно перейти в «Настройки -> Общие -> Энергосбережение» и либо сдвинуть переключатель, который находится в правом верхнем углу, либо поснимать нужные чекбоксы.
Работает это на разных платформах по-разному, и публичного API не существует — есть, конечно, PowerManager API, но к энергосбережению это имеет лишь очень косвенное отношение. Однако на Samsung Galaxy Note 10.1 (впрочем, как и для остальных Droid-девайсов южнокорейского гиганта) энергосбережением управляют через DVFS — Dynamic Voltage and Frequency Scaling, того самого, с помощью которого Samsung «фальсифицировал» результаты бенчмарков (замечу в скобках, что это была не настоящая фальсификация — просто для некоторых бенчмарков и приложений устройство работало на пределе своих возможностей).
Для отключения системной анимации (анимация в приложениях останется) нужно зайти в меню параметров разработчика, которое по умолчанию скрыто. Чтобы получить к нему доступ, семь раз тапни на пункте «Номер сборки», который находится в меню «Об устройстве / О телефоне». Затем перейди в появившееся меню и повыключай всю анимацию: параметры «Масштаб анимации окна», «Масштаб анимации перехода» и «Шкала длительности перехода» установи в «Анимация отключена» (в прошивках других производителей данные опции могут иметь несколько другое название).
В этом же меню можно ограничить количество фоновых процессов. Последнее, впрочем, следует делать с осторожностью — вместо ускорения возможно замедление работы из-за того, что часто используемые процессы будут прибиваться и вновь запускаться. Потому же, кстати, не рекомендуются всяческие таск-киллеры.
Режимы энергосбережения Android
В Android 4.4–5.1 (версии ниже мы рассматривать не будем — они стремительно устаревают) служба будет работать и моментально откликаться на запросы сервера, но только до тех пор, пока экран включен. Через несколько секунд после отключения экрана смартфон перейдет в режим сна (suspend), и промежуток между отправкой запроса и ответом нашего приложения будет составлять примерно минуту. Это срок между maintenance-пробуждениями устройства, и повлиять на него мы не можем.
В Android 6.0–7.1 ситуация будет примерно такой же, однако спустя примерно час смартфон перейдет в так называемый режим Doze. После этого ответ от приложения можно либо не получить вовсе, либо получить спустя час или два. А все потому, что в режиме Doze смартфон фактически не дает работать сторонним приложениям и их службам и полностью отрезает им доступ в Сеть. Управление они могут получить только на короткий промежуток времени спустя час после перехода в режим Doze, затем два часа, четыре часа, со все большим увеличением промежутков между пробуждениями.
Итого, в Android есть сразу три механизма, с которыми придется бороться:
- Suspend — обычный режим энергосбережения, может замедлить получение ответа от устройства примерно на одну минуту;
- App Standby — агрессивный режим энергосбережения, способный замедлить получение ответа на сутки;
- Doze — агрессивный общесистемный режим энергосбережения, который применяется ко всем приложениям.
Все эти режимы энергосбережения можно обойти, но чем дальше в лес, тем больше костылей и неудобств пользователю, поэтому мы рассмотрим несколько вариантов обхода механизмов энергосбережения, от самых лайтовых до хардкорных.
Проблемы и способы их решения
Зачем ускорять работу телефона на Android
Оптимизация в смартфоне Андроид – это комплекс мер, направленных на ускорение быстродействия устройства, повышение производительности операционной системы. Большинство пользователей крайне редко отключают телефон, зато постоянно скачивают новые игры, приложения, сохраняют фотоснимки, видео. Со временем его память заполняется, не только нужными файлами, но и остаточными данными программ, которые уже не используются. Перезагрузка помогает временно освободить ОЗУ, однако, постепенно и эта процедура становится неэффективной.
Основных причин, по которым Android-устройство начинает работать медленнее, несколько:
- Заканчивается место во внутреннем хранилище;
- Используется устаревшая версия операционной системы;
- На телефоне установлено много приложений, которые работают в фоновом режиме и потребляют ресурсы системы;
- Модель смартфона безнадежно устарела, но на него постоянно устанавливают приложения, подходящие для более современных девайсов;
- На старом устройстве установлено последнее обновление ОС, которое не оптимизировано для более ранних моделей.
Существует ряд более мелких причин, тормозящих работу телефона на Андроиде, о них будет упомянуто далее.
Установить кастомную прошивку (привести несколько примеров)
Когда для смартфона на Андроиде долго не выходят обновления, имеет смысл установить кастомную прошивку, которая была разработана не официальным производителем, а группой свободных разработчиков.
Главным преимуществом авторского перепрограммирования смартфона является:
- наличие дополнительных опция и программ;
- отсутствие функций, перегружающих устройство;
- отсутствие лишнего ПО, в котором пользователь не нуждается;
- возможность тонкой настройки мобильной платформы;
- устранение ошибок, которые допустили разработчики официальной версии;
- удобный и приятный интерфейс.
Чтобы установить кастомную прошивку на Android-устройство, понадобится выполнить следующее:
- Разблокировать автозагрузчик, например, Bootloader;
- Установить кастомный рекавери. Для этого на сайте TWRP указать модель смартфона и скачать свежую версию. Затем подключить устройство к ПК и установить на компьютер новые драйверы, и далее Android SDK. В завершение открыть терминал, и прошить recovery командой fastboot flash recovery имя_рекавери .img;
- Далее зайти в TWRP, установить русский язык, разрешить изменения и провести вправо;
- Если data зашифрованы, в разделе «Очистка» выбрать пункт «Форматировать Data»;
- Подключить смартфон к ПК, скачать файл с прошивкой на флешку.
- Тапнуть по опции «Установка», выбрать файл и подтвердить действие;
- Теперь зайти в рекавери и сделать бэкап.
Список популярных прошивок для Android:
- CyanogenMod;
- MIUI;
- Slim ICS;
- Liquid Smooth ROMS;
- LeWa.
Спящий режим на Андроиде: что это?
Как известно, производители смартфонов всё время старались представить устройства с красивым дизайном. Поскольку в плане передней стороны современные девайсы практически ничем не отличаются друг от друга, компании стараются сделать девайсы минимальными по толщине. Это невозможно без проблем с аккумуляторами, ввиду чего они обладают не очень высокими объёмами. Чтобы пользоваться девайсами было комфортнее, задействуются разные меры сохранения заряда, начиная режимом энергосбережения и заканчивая рассматриваемой в статье функцией.
Не стоит выключать спящий режим на Android просто так: сделайте это, только если с устройством возникнут проблемы, вызванные этой особенностью Android. Кроме того, в некоторых прошивках невозможна деактивация этой функции без загрузки сторонних приложений: по умолчанию поддерживается лишь выставление большого тайм-аута, который должен пройти с момента последнего действия для включения сна.
Примеры причин, при возникновении которых следует изменить параметры сна на устройстве: частое отключение экрана и проблемы с работой приложений в фоновом режиме. Впрочем, если вы уже нашли эту статью, нет смысла долго расписывать факторы, при возникновении которых на девайсе следует обратиться к представленным на этой странице инструкциям.
Читайте также: