Отключение приложений в Android. Как запретить приложениям на Android запускаться в фоновом режиме Выключаются приложения на андроиде

Отключение приложений в Android. Как запретить приложениям на Android запускаться в фоновом режиме Выключаются приложения на андроиде

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

Причины почему отключается приложение Андроид

Итак, вот что я выяснил. Приложения отключаются сами в фоновом режиме. Как это проявляется?

  • Перестают приходить звуковые и световые уведомления. Все или только звуковые.
  • Нет уведомлений на значках приложений социальных сетей и мессенджеров. Они приходят после запуска приложения или через небольшое время после его закрытия.
  • Не работают приложения по событию — запись при звонке, активация голосом. Могут перестать работать другие приложения.

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

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

Настраиваем работу приложений в фоне

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

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

Настройка ->Все приложения ->Все ->выбираем приложение -> Уведомления . Здесь включаем Показывать уведомления и Световой сигнал уведомления . Дальше переходим в пункт Настройки приложений где настраиваем звук и цвет индикатора уведомлений.

В-третьих, основная причина того, что отключается приложение на Андроид — экономия батареи. Заходим в настройки:

Настройки -> Батарея и производительность -> Расход заряда батареи приложениями . Если включена экономия энергии в фоне, то приложения могут, но не обязательно, работать не корректно. Тут можно выбрать любое приложение для задания индивидуальных установок.

Для важного приложения можно включить режим Экономия электроэнергии или режим Нет ограничений . Режим Ограничение приложений в фоне надо проверять на каждом приложении самостоятельно. Оно может работать полностью или могут отключаться некоторые возможности.

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

После таких манипуляций приложения сами в фоне на Андроиде не отключаются и уведомления приходят вовремя.

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

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

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

Открываем меню с последними приложениями, доступ к которому отличается в зависимости от конкретного устройства. К примеру, на HTC One два раза нажимаем «Домой», на Самсунге Galaxy S4 открываем физической кнопкой, на Nexus 5 – специальной кнопкой на экране, и т.д. Используя прокрутку сверху вниз, находим приложения (программы), которые будем закрывать:

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

Если аппарат всё ещё «притормаживает», то переходим в «Приложения» (или Диспетчер приложений»), выбираем «Запущенные», посмотрев, которые ещё работают, и что из них можно удалить:

Возвращаемся во «Все приложения» и выделяем то, которое будем закрывать, жмём, в открывшемся окошке нажимаем «Завершить принудительно» (чтобы закрыть гарантированно).

Внимание ! Не удаляйте приложений, предназначение которых вы не знаете!

Как с помощью программ на Андроиде отключить фоновые процессы

Кроме описанных способов существует более продвинутое решение – установка специального софта.

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

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

После первого запуска предоставляем программе права «суперпользователя» (рут), после этого Greenify выполнит анализ всего списка установленных приложений:

А затем выдаст информацию о тех программах, которые проявляют наиболее высокую фоновую активность:

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

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

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

Вы купили новый смартфон, но в нем помимо фоновых процессов присутствует также некоторые ненужные вам программы или игры, предустановленные разработчиком? В данном случае их можно удалить довольно просто, перейдя в меню главных настроек Андроида и выбрав вкладку с ”приложениями”. Но как быть с теми системными программами, которые доставляют вам неудобство и не могут быть удалены обычным способом, без рутирования мобильника? К таким утилитам, в основном, относятся различные приложения для оптимизации системы, сохранения заряда аккумуляторной батареи. Также некоторые программы могут быть нужны лишь в определенных случаях, а их постоянное использование загружает процессор, ОЗУ и “садит” аккумулятор.

Ярким примером того, как предустановленная разработчиком программа влияет на работоспособность мобильного устройства, является сервис Google медиа на Nexus 7. После обновления до версии ОС Андроид 4.2, многие владельцы планшетного ПК столкнулись с появлением лагов в работе. И все это не на китайском двухядерном чипе, а на четырехядерном NVIDIA Tegra 3 с Гигабайтом ОЗУ. Отключив сервис Google медиа в настройках, скорость работы планшета вернулась на прежний уровень.

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

Какие процессы можно отключить на Андроиде

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

  • Google диск.
  • Google карты.
  • Погода и новости.
  • Синхронизация календаря.
  • Различные сервисы Google play.
  • Почтовые сервисы и т.д.

Практически все они либо запускаются вместе с загрузкой ОС, либо в процессе использования мобильника. Их наличие в фоновом режиме отнимает от 100 до 500 Мб ОЗУ, которые можно потратить на открытие нескольких приложений или страниц браузера.

Алгоритм действий

Стоит отметить, что для отключения некоторых приложений могут потребоваться права суперпользователя. Это в большей степени относится к системным процессам, однако “некоторые ненужные для работы ОС сервисы”, также отключить стандартным способом не представляется возможным.

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

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

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

Более подробно об этом, смотрите в представленном ниже видеоролике.


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

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

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

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


Ненужные приложения и процессы могут существенно замедлять работу вашего смартфона

Как контролировать фоновые процессы

Для этого понадобится заглянуть своему телефону «под капот» и воспользоваться найденной там информацией.

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

В некоторых случаях необходимо включить функции разработчика.

1. В версиях Андроид до Marshmallow, необходимо пойти в Опции > О телефоне и затем несколько раз нажать на номер версии, после чего появится уведомление, что функции разработчика активированы.

2. Затем необходимо зайти в настройки под названием Процессы или Статистика процессов . Их можно найти в Настройках > Настройки разработчика > Процессы . Эта опция выдаст список запущенных процессов и сколько оперативной памяти (RAM) они используют.

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

Если у вас один из последних самсугнов, например, S7 Edge, можно отправиться в Настройки > Функции разработчика > Запущенные сервисы и открыть список приложений, жрущих RAM. Там же можно переключаться между запущенными сервисами и кэшированными процессами.

В некоторых телефонах, например, Meizu M3 Max включить функции разработчика вышеописанным методом не получится. В таком случае необходимо написать в Google название телефона и дописать «разблокировать функции разработчика» .

В случае с Meizu, необходимо было ввести ##6961## в звонилке, а затем перейти в Настройки > Доступ > Функции разработчика > Статистика .

Если вы используете стоковый андроид версии Marshmallow или более новую версию, можно найти такие же опции и больше информации в Настройки > Память > Память , используемая приложениями. Здесь их можно отключать.

Какие приложения можно отключить на Android

Все приложения с пометкой «Сервисы Google», да и вообще любое приложение, начинающееся со слова Google останавливать нельзя.

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

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

Если нажать Подробнее/Настройки (в зависимости от модели), можно увидеть, сколько RAM забирается кэшированными процессами. Здесь применяются такие же правила.

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


Редко используемые приложения лучше просто удалить

Как понять, почему именно разряжается батарея

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

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

Здесь так же нельзя совершать лишних движений. На некоторых телефонах в разделе батареи можно увидеть, какие приложения системные, а какие нет, в других телефонах (как Meizu) список будет поделен на «аппаратные» (hardware) и программные (software) приложения.

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

Для Android Nougat – Doze 2.0 функция может быть активирована, когда телефоном просто не пользуются.

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


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

Стоит ли пользоваться приложениями для оптимизации RAM

Есть мнение, что использование «таск-киллеров» приносит в итоге больше вреда, чем пользы. Поскольку для этого нужно держать в фоновом режиме приложение для мониторинга ресурсов, а это несколько нецелесообразно.

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

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

Будем честны: большинство интересных возможностей по настройке Droid-девайсов спрятаны и требуют рутования устройства. Тем не менее получать root предпочитают не все - кто-то из боязни потерять гарантию, другие из-за банальной лени. Мы решили рассмотреть альтернативные способы ускорения устройств на платформе от Google, для которых не нужно прав суперпользователя.

Введение

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

Удаление/отключение встроенных и ненужных приложений

До выхода четвертой версии Android отключать встроенные приложения, не имея прав root, было нельзя. Это приносило покупателям брендовых гаджетов неудобства, ибо каждый производитель норовит запихнуть в прошивку как можно больше программ, которые конечному пользователю попросту не нужны и в сумме кушают приличное количество ресурсов. В четвертой же версии гуглооси такая возможность появилась. Для отключения какого-либо встроенного приложения нужно зайти в «Настройки -> Общие -> Приложения -> Все», выбрать нужную софтину и в «Сведениях о приложении» нажать кнопку «Отключить» (либо «Удалить обновления», а затем уже «Отключить»). Для включения необходимо перейти на вкладку «Отключенные» и выполнить похожую процедуру.

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

  • «Браузер» - зачем, если есть более удобные и легкие альтернативы?
  • «Календарь» и «Память календаря» - не замечал, чтобы кто-то активно ими пользовался.
  • «Email» и «Службы Exchange» - вроде все уже сидят на Gmail.
  • «Поиск Google» - достаточно бесполезная функция при наличии браузера (осторожно, отключает также и Google Now).
  • «Google Keep», «Google+» и другие не всегда нужные приложения от Google.

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

Выноски: INFO

Как работает отключение приложений. После нажатия на кнопку «Отключить» вызывается метод setApplicationEnabledSetting() класса PackageManager, который изменяет состояние приложения на COMPONENT_ENABLED_STATE_DISABLED_USER (кстати говоря, он появился еще в первом Android).

Настройка энергосбережения и использование параметров разработчика

Для ускорения работы гаджета можно также подкорректировать параметры энергосбережения. Конечно, это уменьшит время работы от аккумулятора, но ускорить может достаточно существенно. Для этого (в моем случае) нужно перейти в «Настройки -> Общие -> Энергосбережение» и либо сдвинуть переключатель, который находится в правом верхнем углу, либо поснимать нужные чекбоксы.

Работает это на разных платформах по-разному, и публичного API не существует - есть, конечно, PowerManager API, но к энергосбережению это имеет лишь очень косвенное отношение. Однако на Samsung Galaxy Note 10.1 (впрочем, как и для остальных Droid-девайсов южнокорейского гиганта) энергосбережением управляют через DVFS - Dynamic Voltage and Frequency Scaling, того самого, с помощью которого Samsung «фальсифицировал» результаты бенчмарков (замечу в скобках, что это была не настоящая фальсификация - просто для некоторых бенчмарков и приложений устройство работало на пределе своих возможностей).

Для отключения системной анимации (анимация в приложениях останется) нужно зайти в меню параметров разработчика, которое по умолчанию скрыто. Чтобы получить к нему доступ, семь раз тапни на пункте «Номер сборки», который находится в меню «Об устройстве / О телефоне». Затем перейди в появившееся меню и повыключай всю анимацию: параметры «Масштаб анимации окна», «Масштаб анимации перехода» и «Шкала длительности перехода» установи в «Анимация отключена» (в прошивках других производителей данные опции могут иметь несколько другое название).

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

Ускорение приложений

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

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

Для определения потребления памяти можно использовать такой метод: устанавливаем какой-нибудь терминал с Busybox, определяем PID нужного процесса (с помощью "ps w") и смотрим файл /proc//status. При этом, правда, нужно учитывать архитектуру Android - приложение может быть разнесено по нескольким процессам.

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

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

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

Отключение сканирования мультимедиа

По умолчанию Android сканирует все внешние накопители (SD-карты) на предмет мультимедиафайлов. Данная функция, хотя и полезна, достаточно сильно тормозит систему. Отключить ее можно. Для новых накопителей создаем пустой файл.nomedia в корне. Но чтобы отключить отображение уже имеющихся файлов в Android 4.0 и позднее, нужно, помимо создания данного файла в нужной тебе папке, произвести очистку данных и кеша для приложений «Галерея» и «Хранилище мультимедиа» и принудительно их остановить. После следующего запуска все мультимедиафайлы проиндексируются уже с учетом созданных файлов.nomedia.

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

Samsung

Если ты владелец какого-либо из устройств данного бренда, то наверняка обратил внимание, что переход на основной экран по нажатию кнопки Home немного тормозит. Связано это с тем, что по двойному нажатию запускается S Voice - система распознавания речи. Если ты ею не пользуешься, можно отключить эту функцию, сняв чекбокс «Откр. клавишей „Домой“». Кроме того, если ты случайно включил команду пробуждения, лучше ее отключить - использование этой опции влияет на заряд батареи довольно сильно.

Кроме того, на некоторых устройствах Samsung имеется возможность отключения эффектов лаунчера. Для этого сделай долгий тап по пустому месту на домашнем экране, выбери «Настройки домашнего экрана» (Home screen settings) и в подменю «Эффект перехода» (Transition effect) выбери «Нет» (None).

HTC

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

Sony

На Sony Xperia SP бывает ситуация, когда телефон внезапно начинает тормозить. Проблему можно попытаться исправить, удалив обновления для Google Chrome: «Настройки -> Приложения -> Chrome -> Удалить обновления».

Greenify

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

Причина в том, что метод forceStopPackage(), который позволяет Greenify перевести приложения в неактивное состояние, внутренний и доступен только системным приложениям или тем, что работают с правами root. В не-root-режиме остается использовать только метод killBackgroundProcesses(), который не выгружает процесс из памяти полностью, так что тому продолжают приходить системные события и «будить» его, что совсем не соответствует идеологии Greenify.

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

ART

В 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, чтобы протестировать нужные приложения.

Заключение

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

Легковесные программы для Android

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

  • Вместо Google Maps можно использовать RMaps. Мало того что это приложение легковеснее, так еще и гораздо более функционально.
  • Громоздкий Adobe Reader можно заменить Mupdf.
  • Читалок достаточно много. Из легковесных могу посоветовать AlReader и FBReader.
  • Из браузеров можно поставить Lighthing Browser, де-факто представляющий собой облегченный стандартный.
  • Чрезвычайно тяжелый клиент RSS-ридера Feedly лучше заменить на легкий FeedMe (осторожно, только для смартов).

Что дает root? (слово редактора)

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

  • Тюнинг механизма Low Memory Killer с целью научить систему выгружать фоновые приложения из памяти устройства быстрее, чем это происходит по умолчанию. Трюк требует модификации параметров ядра, а потому доступен только на рутованном устройстве. Используемые приложения: Auto Memory Manager или MinFree.
  • Удаление всех ненужных системных приложений из каталогов /system/app и /system/priv-app. Можно сделать с помощью любого файлового менеджера с поддержкой root.
  • Отключение ненужных системных приложений с помощью Bloatware Freezer, отключение их автозагрузки с помощью Autostarts.
  • Установка оптимизированного кастомного ядра и активация механизма Zram, а также алгоритма контроля насыщения TCP westwood. Разгон процессора.
  • Тюнинг подсистемы виртуальной памяти ядра с целью обеспечить более быструю выгрузку данных из кешей.