Что такое фоновый режим в Андроиде и в чем его вред
Фоновый режим представляется как совокупность приложений и служб, которая функционируют без вмешательства пользователя. Лучше разобраться на примере. При просмотре пользователем видеоролика на платформе Ютуб оставляет вкладку с приложением и переходит в мессенджер.
В то время, пока владелец устройства общается с собеседниками в мессенджере, Ютуб продолжает функционировать и расходовать ресурсы аппарата. Также включенное на фоне программное обеспечение присылает уведомление и проигрывает следующие видео при наличии данной опции.
Под фоновым процессом также подразумевают службы, которые обычным глазом пользователь не увидит. Такой службой является программа от Гугл. Она периодически поставляет на смартфон человека оповещения о важных новостях. Оказывается, приложение не активировали, а информация все равно приходит.
Подобные процессы на телефоне расходуют немало оперативной памяти и других ресурсов. Хорошо, если смартфон мощный. На работу гаджета это никак не повлияет. Однако бюджетные смартфоны при излишней нагрузке начинают лагать и глючить.
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, чтобы протестировать нужные приложения.
Как узнать, какие фоновые процессы запущены
Чтобы узнать, какое именно программное обеспечение автоматически или по инициативе пользователя работает на телефоне, обращаются к информации о расходе аккумулятора. При выполнении различных действий приложение потребует энергетических ресурсов. Если подобный процесс не запускался по велению пользователя, ПО самостоятельно функционирует в фоновом режиме. Инструкция о том, как узнать, какие фоновые процессы запущены на телефоне:
- Сначала пользователь переходит в настройки устройства.
- Из настроек переходят во вкладку «Батарея». Далее перемещаются в пункт «Расход заряда батареи».
- В правом верхнем углу появится кнопка меню, нажав на которую пользователь узнает подробную информацию о расходах аккумулятора.
- В списке отображается запущенное ПО и график расхода энергии. В данном разделе человек может ограничить работу выбранной программы.
Ускорение отдельных устройств — советы и секреты
Приведу несколько советов по самым известным брендам. Стоит отметить, что советы эти годятся только для официальных прошивок, поэтому если у тебя модифицированная прошивка — можешь смело пропускать раздел.
Samsung
Если ты владелец какого-либо из устройств данного бренда, то наверняка обратил внимание, что переход на основной экран по нажатию кнопки Home немного тормозит. Связано это с тем, что по двойному нажатию запускается S Voice — система распознавания речи. Если ты ею не пользуешься, можно отключить эту функцию, сняв чекбокс «Откр. клавишей „Домой“». Кроме того, если ты случайно включил команду пробуждения, лучше ее отключить — использование этой опции влияет на заряд батареи довольно сильно.
Кроме того, на некоторых устройствах Samsung имеется возможность отключения эффектов лаунчера. Для этого сделай долгий тап по пустому месту на домашнем экране, выбери «Настройки домашнего экрана» (Home screen settings) и в подменю «Эффект перехода» (Transition effect) выбери «Нет» (None).
HTC
В отдельных случаях на устройствах HTC может тормозить служба сообщений об ошибках. Хотя подобные вещи и не рекомендуется трогать, можно отключить данную опцию, зайдя в «Настройки -> О телефоне -> Отправлять HTC» (Tell HTC) и поснимав там соответствующие чекбоксы.
Sony
На Sony Xperia SP бывает ситуация, когда телефон внезапно начинает тормозить. Проблему можно попытаться исправить, удалив обновления для Google Chrome: «Настройки -> Приложения -> Chrome -> Удалить обновления».
Что можно остановить
В системе ОС Андроид разработчиками специально включена защита, которая не позволяет человеку остановить важный процесс для работоспособности смартфона. В противном случае остановка необходимой службы приводит к критической ошибке. Для того чтобы остановить процесс, открывают выбранную программу и нажимают кнопку «Остановить».
Если пользователь сомневается, что из доступного списка приложений какое-то лучше не останавливать, лучше зайти в другое место на смартфоне:
- Открывают «Настройки». Дальше переходят в «Приложения».
- После этого открывают список программ и нажимают в правом верхнем углу ярлык с тремя точками.
- В открывшемся списке функций выбирают «Показать системные процессы».
- Для принудительной установки или удаления ПО вручную переходят в «Настройки», далее «Приложения». Затем в «Диспетчере приложений» выбирают программу, которую пользователь хочет изменить.
- Нельзя удалять ПО, которое появляется на дисплее при выборе опции «Показать системные приложения».
Следует внимательно изучить список с программами и понять, что должно работать в фоновом режиме, а что нет. Ни в коем случае нельзя стирать с телефона системные службы.
Стандартный способ
Самый простой способ заморозить программу заключается в том, что пользователю необходимо перейти в меню «Приложение». Там находим нужную программу.
Если кнопка «Отключить» отображается в свойствах программы, как на скриншоте выше, то данное приложение доступно для заморозки без последствий для функционирования системы.
Нужна помощь?
Не знаешь как решить проблему в работе своего гаджета и нужен совет специалиста? На вопросы отвечает Алексей, мастер по ремонту смартфонов и планшетов в сервисном центре.Напиши мне »
Этот метод является наиболее безопасным, он позволяет очень быстро разморозить софт, если это потребуется. Если нет возможности удалить приложение, то стоит воспользоваться специальными утилитами.
Читайте Google Play Market не работает сегодня — причины и что делать
Куда на самом деле «утекает» память Android-устройств и как это проверить
Для проверки, куда расходуется ОЗУ смартфона, включают режим разработчика и смотрят список запущенных сервисов. Рассмотрим алгоритм действий:
- Пользователь заходит в настройки устройства.
- Дальше переходят в раздел «О телефоне». После открывают вкладку «Информация об устройстве» и выбирают пункт «Номер сборки». Необходимо нажать на данный пункт 7 раз.
- После проделанных действий открывают раздел «Для разработчиков». В нем содержится информация о запущенных процессах в пункте «Статистика запущенных процессов».
- Перед человеком откроется список с системными и сторонними процессами. В нем отобразится количество ОЗУ, которое потребляет каждое программное обеспечение. При нажатии на любой процесс пользователю открывается список сервисов, потребляющих энергию.
Легковесные программы для Android
Приведу краткий список легковесных аналогов нужных программ для Android. Список этот минимальный, включающий только самое, на мой взгляд, необходимое:
- Вместо Google Maps можно использовать RMaps. Мало того что это приложение легковеснее, так еще и гораздо более функционально.
- Громоздкий Adobe Reader можно заменить Mupdf.
- Читалок достаточно много. Из легковесных могу посоветовать AlReader и FBReader.
- Из браузеров можно поставить Lighthing Browser, де-факто представляющий собой облегченный стандартный.
- Чрезвычайно тяжелый клиент RSS-ридера Feedly лучше заменить на легкий FeedMe (осторожно, только для смартов).
Как отключить фоновые приложения
Для остановки работы программы в фоновом режиме простое закрытие проги не сработает. Чтобы остановить работу приложения наверняка, потребуется открыть список установленного ПО, затем сведения о конкретном приложении и только потом отключить процесс. Завершить работу фоновых приложений можно тремя способами: через запрет работы в фоне через настройки, с помощью принудительной остановки и сторонних утилит.
Запрет работы в фоне через настройки
Данный способ останавливает любые фоновые программы. Рассмотрим инструкцию:
- Владелец гаджета переходит к настройкам устройства. Далее открывает блок под названием «Устройство» и нажимает на строчку «Приложения». Перед пользователем откроется полный перечень установленного ПО, включая предустановленные системные приложения.
- Для остановки выбранной программы человек открывает подробную информацию о ПО и нажимает кнопку с надписью «Остановить». Действие подтверждают через всплывающее уведомление.
- При успешном отключении фонового процесса кнопка «Остановить» исчезнет. Общая информация обновляется.
Принудительная остановка
Деактивировать фоновую работу ПО можно через принудительную остановку. Для этого потребуется сторонняя утилита Greenify. Скачать ее можно в Гугл Плей Маркет. Для нормальной работы утилиты на Андроид-устройстве придется включить root-права. Алгоритм действий:
- Пользователь устанавливает приложение. На страничке «Рабочий режим» выбирает вариант «Мое устройство с рутом» и продолжает работу.
- Потребуется согласиться с добавлением root-прав для Greenify.
- На главной странице программы нажимает на значок в виде плюса, который располагается в нижнем или верхнем углу дисплея.
- Откроется окно, в котором отобразится список приложений. Они активно работают в фоновом режиме.
- Следует выбрать одну или несколько программ для остановки в принудительном порядке.
- Чтобы автоматически остановить выбранные программы, пользуются иконкой в нижнем правом углу. После проделанных действий ПО переходит в «Спящий режим» и попадает в блок «Усыпленные».
Отключение сканирования мультимедиа
По умолчанию Android сканирует все внешние накопители (SD-карты) на предмет мультимедиафайлов. Данная функция, хотя и полезна, достаточно сильно тормозит систему. Отключить ее можно. Для новых накопителей создаем пустой файл .nomedia в корне. Но чтобы отключить отображение уже имеющихся файлов в Android 4.0 и позднее, нужно, помимо создания данного файла в нужной тебе папке, произвести очистку данных и кеша для приложений «Галерея» и «Хранилище мультимедиа» и принудительно их остановить. После следующего запуска все мультимедиафайлы проиндексируются уже с учетом созданных файлов .nomedia.