Тарифы Услуги Сим-карты

Менеджеры очистки и таск-киллеры Android - необходимость или миф? Task Killer - управление процессами на Андроид

Привет, друзья! Сегодня мы обратимся к крайне спорной и интересной теме - использовании таск киллеров на наших андрофонах. Вашему вниманию представляется перевод весьма популярной в интернетах статьи, написанной мистером flipz для сайта geekfor.me .

Этот вопрос поднимается снова и снова. Люди говорят, что программы выполняются в фоновом режиме и считают, что они тратят их батарейку или сжирают всю память. И их естественная реакция - установить программу, которая может убивать таски. Но есть один момент... скорее всего вы нанесете больше вреда, чем принесете пользы, убивая таски, которые не готовы завершиться. У меня была та же проблема когда я только купил свой CDMA Hero. На нем крутилась целая куча разных программ, а я не хотел этого и постоянно их убивал. Через несколько недель я осознал, что если я перестану пользоваться таск киллером и полностью его удалю, то мой телефон на самом деле начнет работать лучше! Приложения стали закрываться сами и появилось впечатление, что все стало работать лучше. Я понимаю, что, возможно, есть краткосрочные выгоды от удаления таска, но все равно найдите время прочесть эту статью.

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

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

Поставщик содержимого (СontentProvider) активен только во время ответа на запрос от ContentResolver. Подписчики широковещательных сообщений (Broadcast receivers) активны только во время ответа на широковещательное сообщение. Таким образом, нет никакой необходимости принудительно завершать эти компоненты.Активности (Activities), с другой стороны, представляют собой пользовательский интерфейс. Они являются долгосрочными сеансами общения с пользователем и могут сохранять активность даже в ждущем режиме пока взаимодействие продолжается. Также и сервисы могут продолжать работать длительное время. Поэтому в системе Android есть встроенные методы завершения активностей и сервисов:

  • Активность (Activity) можно завершить, вызвав ее метод finish(). Одна активность (Activity) может завершить другую (порожденную первой с помощью метода startActivityForResult()), вызвав метод finishActivity() последней.
  • Сервис можно остановить, вызвав его метод stopSelf() или вызвав Context.stopService().

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

Если приложение долгое время не используется, система завершает все его активности (Activities) кроме главной (root). Когда пользователь возвращается к приложению все так же как и было, но присутствует только главная активность (Activity). Идея в том, что если пользователь когда-то оставил приложение, то через некоторое время он вернется чтобы выполнить какую-то новую задачу по сравнению с той, что он выполнял до этого.

Жизненный цикл активности (Activity)

Активность (Activity) может по сути находиться в трех состояниях:

  • Активном или выполняемом - когда находится на экране на первом плане (наверху стека активностей текущего приложения). Именно в этой активности пользователь выполняет свои действия.
  • В приостановленном состоянии (paused), если с нее ушел фокус, но она до сих пор видна пользователю. Это происходит в том случае, когда сверху находится другая активность, которая либо прозрачна, либо занимает не весь экран, так что приостановленная активность из-под нее частично видна. Приостановленная активность - полностью действующая (содержит всю информацию о своем состоянии и содержащихся элементах и связана с менеджером окон (window manager), но может быть убита системой в ситуации жесткой нехватки памяти.
  • В остановленном состоянии (stopped), если она полностью закрыта другой активностью. В ней все еще хранится информация о состоянии и содержащихся элементах. Но она больше не видна пользователю и чаще всего будет уничтожена системой, когда память будет нужна еще где-то.

Если активность приостановлена или остановлена, система может выгрузить ее из памяти либо попросив ее завершиться (вызвав ее метод finish()), либо просто убив сам процесс. Когда надо будет ее снова показывать пользователю, ее придется перезапустить и полностью восстановить предыдущее состояние.

Активности отдается приоритет в промежуток времени между вызовом метода onResume() и соответствующим вызовом метода onPause(). В это время активность находится выше всех других на дисплее и именно с ней взаимодействует пользователь. Активность может часто переходить между возобновленным и приостановленным состояниями - например, метод onPause() вызывается когда девайс переходит в ждущий режим или когда стартует новая активность, метод onResume() вызывается когда приходит результат активности или новый Intent. По этой причине в эти два метода не стоит помещать действия, которые могут занять много времени.

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

Итак... версия для тех, кто не любит много читать:

  • В систему Андроид встроено автоматическое удаление задач при нехватке памяти.
  • В систему Андроид встроено автоматическое удаление задач, закончивших свое выполнение.
  • В систему Андроид встроено автоматическое удаление задач, к которым долгое время не обращались.
  • Большинство сервисов (возможно выполняющихся в фоне) используют крайне мало памяти в том случае, если они не выполняют какую-то трудоемкую задачу.
  • Поставщик содержимого (СontentProvider) интенсивно работает только когда получает сообщение о необходимости предоставления своего содержимого. Во все остальное время он использует очень мало памяти.
  • Унитожение процесса, не готового к этому, приводит только к тому, что он должен снова подгрузиться и начать все с самого начала, когда вновь понадобится.
  • Из-за того, что задача скорее всего выполняется в фоне не без причины, ее уничтожение приветдет лишь к ее перезапуску, когда активность, использующая ее вновь к ней обратится. И ей не останется ничего кроме как начать все с начала.
  • Уничтожение определенных процессов может иметь нежелательные побочные эффекты. Неполученные смски, непрозвонившие будильники и вылетающие программы - только небольшая их часть.
  • Единственный верный способ запретить чему-то выполняться на вашем телефоне - деинсталлировать.apk.
  • Большинство приложений сами завершают работу если вы покидаете их нажимая кнопку “назад” (back) до тех пор, пока они не закроются, а не кнопку “домой” (home). Но даже если вы нажимаете “домой”, Андроид все равно в конце концов выгрузит приложение, если оно довольно долго будет находиться в фоне.

Вопросы? Сомнения? Кажется, что я не прав? Оставьте свой комментарий - давайте обсудим!

Дополнение:

Одна штука, о которой я совсем забыл упомянуть в этой статье - это то, что механизм работы памяти в линуксе отличается от такового в Windows. В общем случае вам нужно ровно столько памяти, сколько вы собираетесь занять. Поэтому, если в целом всем выполняющимся программам нужно 100 мегабайт, то 150 мегабайт памяти будет более чем достаточно. И нет необходимости что-то удалять из памяти пока вы не заполните все 150 мегабайт. Система же Windows, похоже, работает чуть лучше когда у нее больше незанятой памяти, даже если не вся память была занята изначально. Несомненно, те, кто давно сроднились с компьютером, помнят, что существовали программы очистки памяти под винды.

Но линукс не страдает таким поведением. Признаюсь, я не знаю точного механизма и причины этого... но линукс работает одинаково в независимости от того, если ли у него 20 или 200 мегабайт незанятой памяти. И, как я упомянул выше, Андроид начнет автоматически выгружать приложения когда количество памяти понизится. Процитирую Криса Джонстона “Чистить буферы и кеши в ОЗУ довольно-таки глупо. Представьте себе учителя, который вместо того, чтоб писать на всю длину классной доски, как только заканчивает предложение тут же его стирает и СНОВА и СНОВА пишет начиная с верхнего левого края доски. Или, представьте, вам понравилась песня. Вы записываете ее в начало кассеты. Когда вам хочется записать еще одну, вы пишете поверх первой или все-таки после нее?”

Я также встречал много людей, которые ошибочно предполагают, что чем больше памяти используется, тем быстрее садится батарейка. На самом деле, это гораздо больше зависит от количества проделанных процессорных циклов, а не от количества памяти, занятого какой-то программой. Однако, все это наталкивает на мысль! Когда таск менеджер может быть полезным? Когда нужно определить, ЧТО заставляет ваш телефон тормозить, что заставляет батарейку быстрее садиться. Именно такой способ помог нам выяснить, что, оказывается, существует бага , оставшаяся еще с версии 1.5, которая тормозит наши CDMA Hero и по сей день. И в то время как программа, занимающая память не приносит никакого вреда, программа, нагружающая процессор, абсолютно точно это делает. И все равно я не рекомендую использовать таск киллеры для уничтожения программы, которая загружает ваш процессор (если это только не разбушевавшийся процесс-зомби, но в этом случае вообще лучше перезагрузиться). Но они могут помочь вам разобраться, что же происходит с вашим телефоном.

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

А каково ваше мнение по этой теме? Вы сами используете таск киллеры? Изменило ли что-то прочтение данной статьи? Интересно ли будет почитать еще что-то по этой теме? Делитесь с нами вашим мнением и соображениями!

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

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


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


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


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

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

На Google Play так называемых «убийц» процессов – море. Создается впечатление, что Android – глюченная операционная система, которая постоянно подвисает, и все процессы приходится удалять вручную. Все как раз наоборот – Android лучше любой ОС знает, что и когда «убить».

Что делает «таск-киллер»?

Войдем в курс дела. Менеджеры процессов (task killer, «убийцы» процессов/заданий) – приложения, которые чистят оперативную память (RAM) от процессов. Цель - ускорить работу устройства. По крайней мере это обещают разработчики на . Самые популярные «таск-киллеры» - , Clean Master, Easy Task Killer.

«Таск-киллер» позволяет чистить RAM вручную. Интерфейс приложений довольно универсальный – везде есть кнопка типа «Убить процессы», снизу – список активных процессов, которые вы собираетесь уничтожить. В настройках вы можете выставлять фильтр процессов – выбираете, которые из них программе игнорировать, а которые удалять всегда. Также доступна функция автоматической очистки RAM – процессы стираются с памяти, как только процент ее заполнения достигает установленной отметки, например, 90 %.

Как это сказывается на системе?

Очистка оперативной памяти не вредит ОС Android – просто нарушает ее гармоничность.

Есть системные процессы, а есть пользовательские. Системные процессы обеспечивают работу ОС и приложений по умолчанию, например, проверяют наличие обновлений на Google Play. Пользовательские процессы, грубо говоря, -это приложения, которые вы установили из Google Play. Обычно это игрушки, проигрыватели, читалки и редакторы – они нужны в оперативной памяти тогда, когда пользователь с ними взаимодействует напрямую.

После очистки RAM пройдет всего 10–20 секунд до того, как все системные процессы восстановятся вновь. Правда, процессов пользователя уже не будет. Как правило, эти процессы занимают незначительный процент оперативки.

Процессы пользователя
Процессы пользователя висят некоторое время в оперативке не спроста – это удобно, если вы работаете с несколькими приложениями одновременно. Например, вы используете браузер и нажимаете кнопку «Home» (или кто-то вам позвонил), то браузер (процесс) остается запущенным, только вы его не видите, он работает в фоновом режиме. Вы посмотрели почту (или поговорили) и вновь возвращаетесь в браузер - он запускается мгновенно. Браузер не грузится заново, потому что он все это время был в оперативке. Если RAM в устройстве мало, то процесс браузера удалится системой, как только вы откроете почту.

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

Выходит, если 70 % вашей оперативной памяти занимают «бессмертные» системные процессы, а всего 30 % для вас, тогда ОС будет все время убивать одни и выводить на передний план другие процессы. То есть слабенький смартфон будет все время подвисать.

Если же системные процессы у вас занимают около 40 % памяти, а остальные 60 % ваши, тогда, скорее всего, у вас мощный смартфон/планшет, и замена процессов в RAM будет неощутима.

Итоги

«Такс-киллер» для более-менее мощных устройств (от 512 Mб RAM) не нужен – система все сделает сама. Для устройства бюджетного (RAM от 128–256 Мб) – почти что бесполезный, так как системные процессы за несколько секунд возобновляются. Только в редких случаях чистить процессы удобно, когда смартфон уж совсем зависает (в таких случаях перезагрузка Android поможет лучше).

Что делать тому, у кого бюджетное устройство? Самое простое – выработать привычку выходить из приложения полностью, вместо кнопки «Home» использовать «Back/Назад». Сравним с Windows (насколько это возможно): «Home» - это свернуть окно, «Back» - закрыть. Будете так делать – будет меньше подвисать.

Более сложный вариант – . Права Root позволят вам отключить процессы приложений, которые были установлены по умолчанию (Google Play, Gmail, карты Google и пр.). Тут будьте внимательны: Root-права – это ответственность: перед тем, как что-то «убивать», разберитесь, что это.

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

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

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

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

Android запущенные приложения

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

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

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

Управление приложениями Android

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

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

Почему Task Killers не нужны?

Когда вы возвращаетесь в приложение, операционная система быстро возобновляет его работу и причем с того места, на котором оно было приостановлено. Если Task Killer это приложение принудительно закроет, то при следующем запуске оно начнет свою работу не с того места, где было остановлено, а с самого начала то есть со всей инициализацией и прочим, что в общем как раз и приведет к усиленному потреблению ресурсов и разрядке аккумулятора.

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

Кстати, эти Task Killers сами относится к категории этих же приложений. Находясь в активных процессах и продолжая “кушать” оперативную память, они завершает работу программ, находящихся в фоновых процессах, которые собственно особо ничего не потребляют и батарею не садят! Забавно, не правда ли?

Сторонники использования Task Killer возражают, мол, Android использует много оперативной памяти. Да это отчасти так, но с другой стороны это позволяет быстро переключаться между приложениями без повторной инициализации и распаковки ресурсов.

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

Когда Task Killers могут помочь

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

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

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

Но неужели, спросите вы, все так безнадежно и Task Killer совершенно ни к чему не годены? Ну почему же? Найти применение этой штуке все же можно.

Например, используя ее для завершения зависших приложений или “ненужных” программ, действительно использующих ресурсы устройства. Но не будет ли гораздо проще удалить ненужное или некорректно работающее приложение, чем прибегать к помощи таких сомнительных инструментов как Task Killer.

ОС Android одна из наиболее распространенных платформ для различных гаджетов. Устройства с ПО Андроид – незаменимые инструменты решения ежедневных задач, позволяющие активно использовать одновременно множество приложений. Обратной стороной огромной производительности является большое потребление электроэнергии. Зачастую разработчики софта безответственно подход к энергосбережению на устройстве. Некоторые приложения продолжают действовать в фоновом режиме, снижая производительность гаджета. Полностью завершить работу приложений помогут программы task killer,

Что делают «убийцы программ»?

Программы этой группы направлены на освобождение оперативной памяти от лишних процессов. Главные задачи ПО:

  • освободить ОП от лишних процессов;
  • повысить производительность устройства;
  • ускорить работу ОС;
  • снизить энергопотребление системы.

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

Использование софта: негативные стороны

Предположение, что принудительная очистка ОП устройства – это хорошая идея, не совсем правильное суждение. Любой современный task killer детально не отображает всех проходящих процессов и работающих служб.
Менеджер задач Андроид лишь указывает, сколько память занимает приложение, непрозрачно намекая пользователю, что ОП можно освободить с помощью принудительного завершения работы программы.

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

Как быть?

Использование менеджера задач для Андроид должно руководствоваться целесообразностью и пониманием процессов, которые проходят на девайсе. По мнению специалистов, устанавливать и использовать task killer необходимо в таких ситуациях:
ОП устройства не дотягивает даже до 1 Гб;
батарея разряжается в течение нескольких часов в умеренном использовании;
использование некачественного софта, которое привело к тому, что андроид стал часто «тормозить» или «глючить»;
для анализа работы приложения, оценивая потребляемые ресурсы.
Помимо этого стоит крайне аккуратно использовать софт. Принудительное завершение работы любого приложения – это не совсем правильная процедура, которая вносит некоторые негативные императивы в рабочие процессы гаджета.

Постскриптум

Использование софта требует знаний и обдуманности. Принудительное завершение процессов не будет положительно сказывать на работе устройства.