Подписаться на обновления по RSS

iPhone - он как солнце, вечером садится.

Почему не стоит использовать Таск Киллеры на Андроиде

wr0ngc0degen
25.10.2010
Статьи об Android

Привет, друзья! Сегодня мы обратимся к крайне спорной и интересной теме - использовании таск киллеров на наших андрофонах. Вашему вниманию представляется перевод весьма популярной в интернетах статьи, написанной мистером 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 и по сей день. И в то время как программа, занимающая память не приносит никакого вреда, программа, нагружающая процессор, абсолютно точно это делает. И все равно я не рекомендую использовать таск киллеры для уничтожения программы, которая загружает ваш процессор (если это только не разбушевавшийся процесс-зомби, но в этом случае вообще лучше перезагрузиться). Но они могут помочь вам разобраться, что же происходит с вашим телефоном.

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

Ссылка на оригинал

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


Вот и всё - статья закончилась.

Чуть ниже можно будет оставить комментарий ;) Или почитать, что об этом думают другие посетители сайта. Часто там бывает много интересных дополнений.



Понравился материал? Расскажи друзьям и поддержи наш сайт! Просто нажми одну из кнопок слева. Цифры на счётчиках вдохновляют нас на написание новых познавательных статей.

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

Вот что об этом думают наши читатели:

lelick: Омг, ну зачем столько курсива. Читать трудно!
Andrey: Ну ну...
Поставьте скайп и расскажите потом о том, что приложения в фоне не потребляют батарею...
A_Kuzmin: У меня тасккиллер стоит, но я никогда не использую его, чтобы периодически чистить процессы, а только для отслеживания что выполняется исключительно для целей разработки.
rush: никогда не доверял всякого рода программам аки "очистка рееста", "удаление задач" ну и т.п. знакомые, использовавшие такого рода программ чаще переустанавливали систему на своих РС, вот и на андроиде ситуация схожа.
Eugene: Весь этот девелоперский понос можно было и не писать, это и так понятно, что разработчики андроида не зря придумали такую схему работы с процессами и памятью. Увы, при отсутсвии системного таксманагера, который бы показывал текущую активность приложений и позволял выявить глюкавых паразитов, пожирающих батерейку, использование таск-киллеров полностью оправдано.
После того как пару раз проспишь на работу из-за того, что какая-то тварь за ночь выжрала аккум, привыкаешь засыпать убив все лишние приложения, да еще и принудительно запустив Clock. На всякий случай. :))
Blyer: Andrey

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

Сейчас тасманагер стоит, чтобы например убить игрушку какую-нибудь, которая начнет кеш качать или что-то типо того.
A_Kuzmin: @Eugene: Пользуйтесь лучше анализатором использования батареи приложениями, например SpareParts.
Eugene: @A_Kuzmin:

Спасибо!
Dima: Аж странно, почему таск киллеры- так популярны? Живу без них и все нормально, при нормальной работе 1500 mAh аккумулятора хватает на 3 дня. Когда попробовал пользоваться киллерами-заметил, что при выходе из lock телефон реально подтормаживает(вероятно очистилась память не так как хотела бы этого система и запускается сборка мусора).
ASD: Система же Windows, похоже, работает чуть лучше когда у нее больше незанятой памяти, даже если не вся память была занята изначально.

Улыбнуло. Какая ось не любит свободную память:) Сейчас тот же линукс (как и винда), сжирает как можно больше памяти под кеши. И это оправдано быстродействием.
Кому нужна пустая не работающая память? Лучше заполнить ее данными для быстрого доступа, а в случае если процессу понадобится память, то очищать от ненужных кешей.
А уж если процессы сьели всю память, то тут ничего не поможет, swap он и есть swap.

По статье. Тасккиллеры нужны как минимум убивать зависшие процессы.
По поводу "какой хороший у нас диспетчер задач и планировщик процессов", то не совсем понятна логика отбора процесса для выгрузки. А уж сервис она и вовсе не будет выгружать.
ASD: @Dima:
Тасккиллер и батарея мало связанные вещи. А вот зависший процесс или процесс который сидит и только жрет память (зная к чему он относится), прибить не грех. А еще очень бывает интересно посмотреть на активность некоторых программ. К примеру, (было в старой версии) зачем Navitel крутит какой-то сервис, который если прибить, запускается снова, хотя сам Навител давно выгружен.
Andrey: Пробывал жить с тасккилером и автоматическим удалением "ненужных" прог на блокировке экрана, расход батарейки отслеживал JuicePlotter. Точно в такой же конфигурации, но без тасккилера за такой же промежуток времени получался меньший расход батареи. Т.е. лучше без тасккилера.
Тормозов в обоих случаях не наблюдал, но с тасккилером время тратил на обновление белого/черного списка приложений и повторный запуск "ненужных" прог.
ASD: @Andrey:
Пробывал жить с тасккилером и автоматическим удалением «ненужных» прог

Это как раз самое ненужное. Автоматом лучше пусть сама ОС разруливает.
Andrey: @ASD: Я вроде так и написал
la-5fn: @Andrey: Поставь режим самолета, когда вырублены все безпроводные интерфейсы, и посмотри сколько батарейки сожрет система с приложениями. У меня, о ужас, за ночь система с приложениями 1% съела. После этого, очевидно, что таскилеры нужны только для отстрела особо кривых прог, сам же андроид работает на отлично.
Umnik: Я вел небольшую переписку на эту тему с Николаем, автором Wi-Fi manager. Он также очень критично отзывался о киллерах. К слову, баг с тем, что менеджер пишет "получение IP-адреса" и не может получить его до ребута - результат деструктивной деятельности таск киллера. На сколько я понял, сейчас главная проблема в криворуких разработчиках, которые неверно работают с памятью. Как результат, их программы могут не завершаться, когда нужно. В следующих версиях Андройда и эта проблема должна решиться.

В целом же я не встречал таких кривых программ, кроме, та-да, самих киллеров.
ASD: В общем вырисовывается проблема не самого "убийства" процесса а беспорядочное убийство в автоматическом режиме да еще и с кривыми настройками.

Разработчики ОС - всегда оптимисты, однако и в Windows и в Linux есть менеджер задач и возможность убивать процесс.
Не думаю что разработчики этих ОС не хотели бы что бы вы реже ими пользовались, но иногда приходится.

Всю статью можно сократить до:
В принципе у Андроида не плохой свой менеджер процессов и вероятность в тасккиллерах небольшая. Используйте тасккиллер только если реально это требуется, и никогда не используйте в них функцию автоматической очистки памяти.
xenя: кто-то не советует использовать таск киллер - полный бред.. я когда-то впервые купил девайс я начал использовать таск киллер из-за привычки к винмобайлу, потом бросил выяснилось что он не нужен, т.к. прога сворачивает.. ну как описано выше, НО ЭТО НЕ ТАК! на каждую ночь перед сном девайс у меня иногда жрет 3% (8 часов), это хорошо, а бывает и 13% (8 часов) - до этого конечно много раз использовал разные софты... все были свернуты, либо закрыты (если существует выход я всегда закрываю)... ПОЧЕМУ ЖЕ? потому что разработчик криво написал софт, а он мне очень нужен... так что таск киллер нужен, особенно когдв выходишь на работу.
Randolf: Короткое содержание статьи: "не знаю почему, и как это объяснить, но не делайте так, потому что мне кажется, это неправильно".

Большинство программ криворуких программистов, написавших свои приложения не вполне в соответствии с dzen android sdk гугла, не завершают себя по окончании активности. Если уж даже интерфейс приложения многие не в состоянии реализовать как положено, и порят отсебятину, которая визуально убога, не использует встроенный API b грузит проц в 10 раз сильнее стандартного механизма, то о чем говорить в плане организации времени собственной жизни программы... Короче, таск киллерам к сожалению быть, и без них не обойтись, несмотря на все усилия приложенные для избежания этого от гугл.
A_Kuzmin: @Randolf: Вы понимаете, что пишете? "Большинство программ криворуких программистов, написавших свои приложения не вполне в соответствии с dzen android sdk гугла, не завершают себя по окончании активности". В SDK как раз и написано, что завершает процесс Система, а не само приложение. Кнопка Выход в приложениях - вообще бред. Почитайте SDK. Не порите чушь.
A_Kuzmin: @Randolf: Автор статьи и пояснил, как работает Система, и как она сама решает, когда завершать процессы. Прочтите статью еще раз, она очень хорошая.
Randolf: Пример. Яндекс.карты. Есть версия для мегафона, фишка которой в том числе - получение координат друзей на карте. Работает этот функционал только по edge. Так что придя домой, подключившись к wi-fi, эта возможность пропадает. Закрываю приложение, отключаю wi-fi, включаю приложение - ничего не появляется. Хоть день жди.
Выход только один - прибить процесс варварским методом и запустить снова. Тогда программа инициализируется с необходимым функционалом.

Вот вам и пряморукий программист. Программа замечательная, а решить ее проблемы можно только одним способом. И без таксккиллера не обойтись.
A_Kuzmin: @Randolf: Это просто разработчик Яндекс-Карт забыл реагировать на событие смены интернет провайдера с EDGE на Wi-Fi. Причем здесь выход приложения и его завершение?
Randolf: Речь о необходимости тасккиллеров.
A_Kuzmin: @Randolf: Я не против них, я про то, что не стоит постоянно жать Kill Free Processes перед сном или раз в час. И раз вы так упоминаете Android SDK, хоть прочтите его. У меня ощущение, что вы оперируете тем, чем не владеете. В данном случае система решила, что приложение Яндекс.Карты можно пока не завершать, ибо есть свободная память и т.д. - то есть оно работает полностью в рамках Android SDK. Но вот правильная реакция на смену EDGE-WIFI-EDGE - это кривость проги.
ASD: @A_Kuzmin:

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

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

Статья хорошая, но это больше похоже на попытки:
1. Отучить пользователей от вмешивания в работу ОС, из-за частых проблем у пользователей с ПО когда виновником становится тасккиллер в автоматическом режиме. (если читать форумы по ПО то очень много неизвестных глюков у пользователя лечится или добавлением в игнор у тасккиллера или отключением функции авто.)
2. Показать что андроид не хуже Iphone и ему ненужны сторонние средства контроля за процессами.
3. Успокоить пользователей, что большинство программ не имеют "кнопки выхода".
Randolf: Ну что за голословные наезды? Я уже 2 года под андройд пишу. Сам то читал? Сомневаюсь.
Я сейчас пишу для обычных пользователей, без терминов. Тот же яндекс получив возобновление должен переинициализироваться, а не считать что соединение оно раз на всю жизнь... О такой непродуманности большинства приложений я и пишу. Из чего следует, что полностью положиться на андройд сейчас нельзя, когда мы имеем такой разброд в рядах разработчиков.
A_Kuzmin: @Randolf: Я и сказал, что использую TaskKiller в целях разработки для анализа правильности работы приложения.

Вы же пишете, что «Большинство программ криворуких программистов, написавших свои приложения не вполне в соответствии с dzen android sdk гугла, не завершают себя по окончании активности». Где в SDK прописано, что по окончании активности приложение должно само себя освобождать? Это решает система!
Randolf: Я для ясности так написал, не цепляйся к словам. Имел ввиду свое внутреннее состояние.
A_Kuzmin: @Randolf: То, что ты написал про суицид программ при выходе, как раз и нарушает SDK и путь Дзен) Сорри, что обидел.

А вообще всегда хочется как лучше, но получается как всегда. Смотрел сегодня слухи про Galaxy S2 (судя по характеристикам будет жить полдня). И видимо S обычный не обновят до android 3.0...
Вася: Да конечно нужны. без них дроид у меня меньше дня живет
Ergio: Да, все конечно очень умно расписано, обстоятельно. Только вот на практике эта красивая теория рушится как карточный дом. Мой опыт - слабенький во всех отношениях HTC WildFire - система автоматического закрытия программ - просто несостоятельна. И речь не о том, что я хочу чтобы у меня был запас свободной памяти непонятно для чего (как на винде). Суть в том, что если не закрывать приложения принудительно тасккиллером, а оставлять "скрытыми", "спящими" и т.д. - то через пол часа активной работы с разными программами мы имеем дикие тормоза даже при перелистывании рабочих столов, картинок в галерее. И когда я открываю очередное приложение, оно тоже начинает тормозить, т.к. система считает что все о.к. и ворох открытых программ не нужно закрывать. Чищу лишнее киллером - все работает как часы.
Единственное чего не делаю - не ставлю тасккиллеры на автоматический режим - это действительно и батарею высадит, и толку немного будет.
Так что в целом - был бы у меня Дизаир или Нексус, возможно и не парился бы. А так у меня Вилдфайр - и мне тасккиллеры очень нужны.
Дмитрий: Пользуюсь Desire пол года. На версии 2.1 начал пользоваться таск-киллерами, потомучто заметил - после некоторого времени открывания-закрывания прог тел начинает заметно притормаживать, пока его не перегрузишь.
После перехода на версию 2.2 необходимость в таск-киллерах отпала вовсе. Система убивает самостоятельно даже вездесущий сенс - утром при после будильника замечаю, что он запускается заново.
mike: @Andrey:
Может это проблема уже скайпа.
mike: @Ergio:
Это потому, что на wildfire версия 2.1. В 2.2 системный киллер работает более агрессивно.
NVS: Я не против использования тасккиллеров. Только не надо запускать автоматическое завершение всех приложений. И еще надо аккуратно прописать нужные приложения в список исключений и все будет ОК. Даже простым инструментом надо уметь пользоваться. И обычныс молотком можно отбить себе все пальцы, если не умеешь им пользоваться.
kolohui: В оболочке Sense стоит свой клиент синхронизации по протоколу актив синк. Все бы хорошо, ибо календарь синхронизируется. Но иногда почта перестает ходить в режиме пуш и обновляется только руками. Пару раз была ситуация когда в поле надо было срочно получить письмо, а оно не приходило. Если это удалось заметить, то единственный метод лечения - кильнуть процесс Почта. Вот для этого я пользуюсь такс киллерами.
Piligrim: У меня, старый по нынешним временам телефон - G1.
Можно, конечно было тихо сидеть под 1.6, но ведь всегда хочется лучшего. Так вот под СМ6 без тасккиллера было не выжить, а порт официального HTC OTA 2.2 летает сам по себе. И это без компкеша и свапа!
cruse: Вот бы gmail деинсталировать, а то отрубишь его везде, а он все равно в процессах висит. Да и куча других программ, которыми отродясь не пользовался сидят в памяти, делают чего-то.
A_Kuzmin: @cruse: А зачем тогда гуглофон покупали? Конечно он заточен на гугловские сервисы)))

Я вот тоже ничего не знаю о процессах моего пищеварения, но стараюсь не вмешиваться в его работу и чего-то самолично вырезать оттуда, даже если мне кажется, что много чего лишнего там (человек вообще может без кучи органов прожить, без одной почки например). Я верю, что они там не просто так)
wr0ngc0degen: лично я тоже не пользуюсь таск-киллерами. но, честно говоря, не из каких-то высоких соображений, изложенных и обоснованных в статье, а потому что меня и так полностью устраивает работа телефона. да, бывает, какое-то приложение намертво зависает. но это бывает настолько редко, что можно всегда убить его традиционным способом через manage applications.
А в целом, статья утверждает следующее - прочтите, обдумайте и... тадам! делайте так, как вам нравится)
@lelick:
это перевод статьи. был сохранен стиль оригинала. курсивом отмечены цитаты из документации для разработчиков.
@A_Kuzmin:
@Eugene:
а еще проще засыпая ставить телефон на зарядку
A_Kuzmin: @wr0ngc0degen: У меня нет претензий к телефону, держит 3-4 дня:) Не заморачиваюсь таск киллерами, хоть и стоит на всякий случай да для целей разработки) Каждую ночь ставить на зарядку мне нет никакой необходимости ;)
wr0ngc0degen: @A_Kuzmin:
дада. у @Eugene: проблема с будильником и ты давал совет воспользоваться Spare Parts, а я говорю, что еще для верности стоит поставить на зарядку.
v0rtex: wr0ngc0degen молодец, заинтересовал народ :)
ASD: @v0rtex:
Дык этож холивар :) На буржуйских сайтах такого полно... :)
ASD: Интересно, до 100 постов добьем?
xzer123: да, последнее время стал замечать что на вайлдфайре после каждого приложения нажимаю тасккиллер попробую пожить без него
Ванва: -Здравствуйте, меня зовут Ванва.
-Здравствуй Ванва!
-Я 3 месяца пользовалась тасккиллером, но вот уже как неделю не употребляю.
{Аплодисменты в зале}
-Спасибо, что вы мне помогли избавиться от этой зависимости, пагубной привычки! Храни вас андройд!
я: Почему не стоит писать дурацкие статьи
Почему не стоит - стоит
Пиши
Пишу

Бред


для особо тупых, чтобы тасккиллер не жрал что-то там его киляют вместе со всем прочим мусором. и запускают по необходимости и киляют.
olafbond: А как же быть с приложениями, которые кушают трафик?
Например, карты. Глянул на пробки, ушел. Как быть уверенным, что они не продолжают подкачивать все подряд?
ASD: Process Manager - наше все!
Umnik: Годный вброс
iIndestructible: Очень интересно! Спасибо за статью, теперь буду привыкать, не пользоваться менеджером задач %)
GrolfCry: "Киллером" пользуюсь :). Система без чистки иногда начинает жутко тормозить, после чистки все приходит в норму. Да и программы некоторые никак, кроме "килла", не закрыть (imo.im, например) или, как уже замечали про карты и трафик.
wr0ngc0degen: @v0rtex: @ASD:
ага, вот меня и удручило, что на наших как-то не особо тему затрагивают. надо ж все-таки подлить свежего маслица в огонь)
@Randolf: кстати, из статьи в процессе публикации случайно пропала ссылка на источник, откуда взята цитата Криса Джонстона, где немного рассказывается о работе RAM в Linux http://chrisjohnston.org/2009/why-on-linux-am-i-seeing-so-much-ram-usage
это к комменту "не знаю почему, и как это объяснить.......", все-таки он не совсем справедлив
am1no: @rush:

Да, ну?! Постоянно пользуюсь и еще не разу не слетело.
Murz: @A_Kuzmin:
У меня HTC Desire и OpenDesire прошивка, в которой стоит SpareParts. Но в нём я не нашёл подробной информации о батарее, подскажите где её найти?

Пока использую виджет Battery Left, который показывает больше инфы об использовании батареи и проца приложениями, но как-то держать постоянно включенным виджет для этого (а для отображения заряда мне он не нужен) - не очень радует.
A_Kuzmin: @Murz:

Запускаете программу -> Battery History. По-умолчанию общая запустится статистика, но наиболее мною используемая - вехрний фильтр -> Использование частичного включению, которая показывает какие приложения не дают телефону перейти в спящий режим. Общая статистика не всегда детализировання - у меня показывает Режим работы, но не по приложениям. А вот использование частичного включения более детальна.
Murz: @A_Kuzmin:
Хм, у меня оказывается какая-то неправильная версия Spare Parts была в прошивку встроена, поставил с маркета - появились пункты.
Ещё нашёл прогу BatteryHistory, она как раз показывает только историю батареи и больше ничего лишнего в себе не несёт, так что кому только нужно историю батареи смотреть - можно не ставить полную версию Spare Parts.
sainer: использую тасккиллер только для тех процессов, которые начинают не так работать(лечиться только перезагрузкой или убийством процесса), чаще всего после режима ожидания. А для всякого освобождения памяти не использую, так как выше описанное прочел уже очень давно на другом ресурсе и прекрасно понимаю, что ничего хорошего из этого не выйдет.
PaulBunkie: О пользе тасккиллеров.

Рекомендую проделать следующий опыт:
1. Запустить браузер и открыть в нем 4 вкладки с большими страничками. Это бывает необходимо если хочется почитать какие-то материалы в метро, например.
2. На время опыта забыть про тасккиллеры.
3. Выйти из дома и включить плеер.
4. Запустить по дороге до метро синхронизацию (это скорее всего произойдет автоматически, но для чистоты эксперимента сделаем вручную).
5. Принять звонок, отправить СМС.
6. Зайти в вагон и открыть браузер.
7. :(
echoxl: ННда, меня, как юзера винды и симбиана больше всего нозит отсутствие кнопки "закрыть" в приложениях. Теперь понял почему. Статейка всё-таки полезная, да и каменты некоторые улыбнули..
maxbetchik: Таск киллером приходилось сбрасывать штатный браузер Hero 2.1. Он умудрялся подвисать и тормозить телефон.
Попробую пожить теперь без таск киллера, но с другим браузером ;)
Panzer: Здравые мысли в статье есть, но автору следует учесть, что таск киллер во многом не столько инструмент для очистки памяти, сколько средство терминации текущих (который в данный момент не нужны) назойливых приложений (тот же скайп).
Alex: Убивал и убивать буду. Отобенно вшитые бренднрами г..но-утилиты (простите з грубость), типа виджетов погоды/акций/новостей(в америке), или вышеупомянутого скайпа (который при выключенном дисплее и положенной на полку мобиле выжирает батарейку за пол-дня)
А никто, кстати не замечал, что в процессах все время висят карты и Латитьюд, несмотря на запрет в настройках? Ето что, "Big Brother watches you"? Я думаю, это продолжается сбор инфы о хот-спотах, помните скандал со стрит-вью?
Umnik: @Alex: http://goo.gl/4WxYR
Alex: Купил тут на пробу недорогую планшетку под андроидом 2.3 на проце Cortex A8 1 Ггц. Без тасккиллера ей пользоваться вообще невозможно. Хорошо хоть тасккиллер предустановлен. Пару прог или игрушек запустишь, выйдешь, а они продолжают висеть и жрать ресурсы проца да так что интерфейс начинает дико тормозить и реагировать на клавиши с задержкой по несколько секунд, страницы рабочего стола листаются с дикими тормозами как слайд шоу. С трудом запускаешь тасккиллер, убиваешь все процессы (а там кроме запущенных тобой оказывается еще куча какой-то гугловой туфты которая на автопилоте поназапускалась) и сразу все снова начинает летать. Так что лапшу про то что андроиду не нужны тасккиллеры развешивайте на уши лохам которые сами андроид никогда не видели. Без тасккиллера это глюкалово-андроид вообще неработоспособно.
Umnik: Удали эти игры и никогда их больше не ставь.

Вот надоест мне это и я вам покажу, что на Андроиде таск киллеры не нужны.
ASD: @Umnik:

А я вам покажу для чего они нужны :)
Пример - зависший маркет. Прибить не можете, сворачивате его кнопкой Home и он так и висит в пямяти. Запускаете маркет заново и видите его висящим.
Прибиваете тасккиллером и запускаете заново в нормальном режиме.

Этот холивар может быть вечным. Тасккиллер это инструмент для выгрузки зависших программ. Это не то же самое что в винде крестик. Согласитесь что глупо в винде выгружать программы с помощью Диспечера задач.
PaulBunkie: Без тасккиллера это глюкалово-андроид вообще неработоспособно.
---
Полагаю, что в "недорогой планшетке" установлено маловато для нормальной работы 2.3 оперативной памяти, к тому же медленной. Сам андроид взят китайцами с какой-нибудь другой железки и никем под данный девайс вероятнее всего не оптимизировался.
Umnik: > Пример — зависший маркет.
Какой забавный пример. Как раз сегодня.. А нет, не сегодня. А, да он у меня вообще не зависает на Motorola Milestone и Acer Iconia Tab A500.

> Прибиваете тасккиллером и запускаете заново в нормальном режиме.
Чисто для справки - системный таск киллер сработает сам через 15 секунд.
Андрей vortex: Присоединюсь.
У меня что на телефоне, что на планшете.
Ниче не зависает и работает как часы без тасккиллеров =)))
Umnik: @Андрей vortex: а люди путают причины и следствия. Зависает - это не причина использовать киллер, это следствие использование киллера :)
ASD: @Umnik:

Чисто для справки, не срабатывает через 15секунд.
Umnik: @ASD: ну, если ты уже сломал что-то в системе, то да, не сработает. А т.к. ты рутовал устройство и используешь таск киллеры, я делаю вывод, что все-таки сломал :)
Yarik: Андроид мне мало знаком, были только нокии с симбианом, но для замены даже не знаю что можно взять для стабильной нормальной работы в браузере и офисе, но очень хочу, что-то нормальное, подскажите кто понимает в ОС системах, где удомней? Ценовой диапазон любой, но только смартфон... Буду благодарен...
ОЛЕГИЧ: че делать заполнением памяти телефона так называемые rom
я удаляю все приложения нужные не нужные все равно выходит сообщение память телеона заполнена через SDMaid чистил не помогло все пришлось подчистую чисть через recovory ЗАЧЕМ МНЕ КОПИИ ПРОГРАМ И ИХ НАСТРОЙКИ В ПАМЯТИ ТЕЛЕФОНА ЕСЛИ ВООБЩЕ НЕ МОГУ УДАЛИТЬ, ВОТ В ЭТОМ ГУГЛ КОМПАНИЯ НЕДОСТАТОК СИЛЬНЫЙ
У МЕНЯ АНДРОИД 2.3.6 САМСУНГ ГАЛАКСИ ДУОС КАРОЧЕ ВСЕ ПЛОХО И ЖАЛЕЮ ЧТО КУПИЛ АНРОИД С НОКИЕЙ ПРОБЛЕ ТАКИХ НЕ БЫЛО.
Роман: Чтобы в системе не висели ненужные гугловые приложения, их нужно просто удалить или заморозить. Но таск киллеры использовать, в редких случаях, всё же приходиться.
Роман: приходится
Игорь Одинцов: Всё! Удаляю таск киллер нахрен:-)
Warfolomeus: я пользователь арабы со стажем . андроид неплох , но ужасно бесит что он самолично закрывает проги . в частности это относится к допущена . спрашивается , какого черта потом выгружается если она качает файл ???? стала в этом на высоте . загрузка может слететь но не софт .
Umnik: U can write on English.
Android does disabled backgrownd apps if RAM is low. You can buy smartphone with 1 GB RAM :)
Warfolomeus: пиши по русски . умник ))))) 1гектар мне в теле нах не нужен . стала шагала , числа от нехватки оперативы , но никогда не закрывала программы , это реальный косяк платформы . я должен решать что открыть а что закрыть .
Umnik: То есть ты это пишешь сам, без автопереводчика? ОМГ.
Kesh: возможно ли что таск киллер создал ошибку из-за которой не работают контакты????
Alexander: "Когда попробовал пользоваться киллерами-заметил, что при выходе из lock телефон реально подтормаживает(вероятно очистилась память не так как хотела бы этого система и запускается сборка мусора)"

Аналогично заметил на своем андроиде.. убрал тасккиллер, ибо с ним телефон тормозит.. особенно из-зща автооптимизации, которая убивает нужные процессы тоже и система начинает их грузить заново! Но.. батарея садится побыстрее из-за висящих процессов
UseVer: Мне кажется, или большинство обсуждающих эту статью не понимают её смысла? На моём Galaxy 258 mb "ОЗУ", при запуске Angry Birds, после 10-15-ти минут игры, приложение начинает виснуть. Дело в том, что система САМА запускает MoboPlayer, Маркет и т.д. - ОЗУ забивается полностью наиболее часто запускаимыми приложениями. Это делается для того, чтобы при запуске наиболее часто запрашиваемых приложений они, приложения, стартовали с наименьшими потерями времени. Согласен - удобно. НО - оно мне надо?. Посему TaskKiller'ам быть. ИМХО.
З.Ы. А по поводу быстродействия и тестов - раз рабы проводят их в "стерильных" условиях - именно отсюда поражающие воображение результаты - загрузка ЦП, время работы от батареи и т.д. - ведь ядро больше ничем не занято кроме текущего теста - всё лишнее выпилено...
D,Lion: может у тя фонарик на андроиде?
Alex: Иди на хуй. Не читай. Мне нормально.
NO NAME: У HTC есть свой диспетчер и он закрывает только приложения, глюков нет, как и быстрой разрядки устройства, такие недочеты бывают только у программ, которые на низком уровне работают и писались под бутылку водки, вроде "ES Диспетчер Задач", которая убивает либо все, либо выбирай сам, а надстройки нет, если ты агроном, то в этом ничего и не поймешь, а кеш мусорный удалять как раз хорошо, сразу меньше лагов и память освобождается, еще не разу не замечал что - то плохого от удаления кеша
Mike: Автор не упоминает, что программы от гугл имеют свойство по поводу и без лазить в сеть или искать коннект с БС, при этом заряд телефона расходуется гораздо быстрее, чем при использовании тасккиллера. Если приемник на телефоне только 2G/3G, то в принципе нет проблем, а вот если тел поддерживает LTE, то это капец - особенно ПО от гугл - вонючие расширения маркета постоянно лезут в сеть - отключил их нафиг с блокировкой, телефон стал в два раза лучше батарею держать.
Clean: Я бы не стал так однозначно хаить рамоптимайзеры! Дело в том, что андроид-это андроид, и он никогда в обозримом будущем не станет хотябы ХР-кой... Именно по причине покашных "железных" техенологий, связанных с размерами. И именно поэтому он не универсален в общем смысле и именно поэтому производители смартов затачивают каждую сборку под своё железо. Допустим на недорогом железе (Fly, texet и т.д.) без тасккиллеров не обойтись. У продвинутых самсунгов и т.д. проблем не наблюдается. Но соглашусь с Mike: Андроид - это ребенок Гугла и в нём уже зашито потребление любых ресурсов ради интересов создателя!!! Но есть умные люди - изобретают решение проблемы. Я вот от гугла совсем ушёл! ))) Оказалось он нафиг не нужен. И даже там, где приложения ругаются, что без него работать не будут - это брехня! Не работают только фирменные гуглята типа Гуглплэй, Гуглкарты, Земля и еще несколько ... возможности которых лекго, а то и лучше реализуют аппы от яндекса или совсем независимые! Решение: Рут, рутманеджер-хоть лакипатчер, альтернативный гуглу фреймуорк - и опля! Нафиг Гугл! Все тесты после вырезки гугла совсем из системы показывают увеличение производительности и снижение энергоёмкости от двух раз!!! Нужно только правильно подобрать сочетание аппов для конкретного железа, именно по причине моделированности заточки андроида! И тогда точно никакие таск киллеры не нужны! Всё и так работает на ура ровно!
zeleboba: Кстати, интересна тенденция, что сейчас стали весьма популярны приложения в духе Cheetah Mobile Clean Master и им подобные. При этом сами вендоры включают этот софт или его адаптации в фирменные прошивки. То есть выходит, что производитель смартфона сам рекомендует использовать чистильщики оперативной памяти, кеша, логов и т.д. Раньше такого не было :)

Хотите что-то добавить?

Полезный совет: вы знаеете, что собственную аватарку, которая будет работать не только на нашем сайте, но и на других форумах, блогах и прочих ресурсах в сети, можно установить на сайте Gravatar.com? Это очень просто и быстро.

Мы в социальных сетях

Droidnews.ru во Вконтакте
Droidnews.ru в Facebook
Droidnews.ru в Google+
Яндекс.Метрика