Убийца задач для андроид отключить

Почему не следует использоваеть таск киллеры (Task Killers) на Андроид.

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

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

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

Давайте кратко рассмотрим как андроид справляется с управлением процессами по умолчанию.

Как андроид управляет процессами.

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

Проблема в том что андроид использует RAM иначе чем, например, виндоус. Когда на вашем андроиде задействована вся оперативная память — это, на самом деле, хорошо. Это означает что когда вы перезапускаете приложение которое недавно открывали, оно будет запущено и возвращено в свое предыдущее состояние довольно быстро. Таким образом, хоть андроид и использует RAM эффективно, большинство юзеров видя что почти вся оперативная память задействована, предполагают что это замедляет работу их телефона. В реальности же, ваш процессор (CPU), который используется только приложениями которые активны в данным момент, почти всегда является “узким местом” в плане производительности вашего устройства.

Почему использование такс киллера, зачастую, плохо.

Такие приложения как, например, Advanced Task Killer, один из наиболее популярных т. киллеров на рынке, действуют на основе неверного предположения, что освобождение оперативной памяти на вашем андроиде этого хорошо. После запуска, вам предоставляется список запущенных приложений и возможность завершения скольки пожелаете процессов/приложений. Вы так же можете нажать кнопку меню, чтобы получить доступ к более детальному обзору запущенных служб. Этот список показывает какие именно части каждого приложения работают, сколько памяти они занимают и сколько свободной памяти доступно на вашем телефоне. Такое устройство программы, довольно непрозрачно, намекает на то что цель завершения процессов это освобождение памяти. В то же время абсолютно нигде не показано сколько циклов процессора каждое приложение потребляет, вы можете видеть только объем памяти который вы освободите завершая тот или иной процесс. Как писалось выше, полностью задействованная память — это хорошо. Что мы на самом деле хотим, так это следить за процессором (CPU), вот что на самом деле уменьшает производительность вашего телефона и высасывает жизнь из вашей батареи.

Поэтому, завершать все, кроме самых необходимых, процессы (или говорить андроиду убить все процессы более агрессивным способом с помощью автокила/autokill) обычно не требуется. Более того, вполне возможно что это, наоборот, ухудшить производительность вашего телефона и жизнь вашей батареи. Убиваете ли вы приложения в ручную или используете более агрессивный способ автокилла, вы на самом деле используете циклы процессора, в то время как могли бы и не использовать, не трогая приложения которые ничего не делают.

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

Читайте также:  Как изменить голос при разговоре по мобильному телефону андроид

Тем не менее, не все приложения созданы равными. Наверное некоторые из вас использовали таск киллеры ранее и на самом деле обнаружили, что после освобождения памяти ваше устройство обычно работало лучше. Скорее всего это происходило из-за того, что вы “убивали” плохое приложение, проще говоря, приложение которое сделано кривыми руками. Например приложение которое постоянно пытается подключиться к интернету даже тогда когда не следует. Любое повышение производительности после завершения процесса/приложения происходит потому, что вы завершили то что надо было завершить, а не потому что вы освободили кучу памяти (иногда это может быть просто плацебо, и вам кажется что ваш телефон стал работать быстрее). Вместо того чтобы завершать все подряд, разберитесь какие приложения на самом деле вызывают проблемы. Если вы будете знать что вы делаете, вы можете извлечь выгоду из использования таск киллера для завершения одного или нескольких неэффективных, но так любимых вами, приложений.

Так же стоит обратить внимание на то, что некоторые разработчики кастомных прошивок, например cyanogenmod, даже не посмотрят на ваши репорты об ошибках если вы использовали таск киллеры. Так что, если вы не знаете что делаете, лучше всего держаться от таск киллеров как можно дальше. Но если вы всё-таки не можете жить без того единственного приложения которое истощает вашу батарею, можете заюзать таск киллер, но будьте осведомлены, что в случае возникновения каких либо багов, таск киллер может быть виновником. Конечно же, вы можете отказаться от использования таск киллера, чтобы определить, является ли он виновником бага или нет.

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

Мониторинг, так называемых, Runaway процессов. Runaway процесс, это процесс который вошел в бесконечный цикл (если не знаете что это такое, советую погуглить) и что еще хуже может порождать новые процессы, тем самым используя почти все ресурсы процессора. Мониторинг таких процессов можно осуществить с помощью такого приложения как Watchdog (сторожевой пес). Это немного другой вид таск киллера, в том смысле, что вместо того чтобы говорить вам что у вашего устройства задействована почти вся оперативка и пора начать убивать все процессы на право и на лево, он предупреждает вас если какое-то приложение начало “съедать” слишком много CPU без причины. В этом случае вы можете остановить процесс с помощью Watchdog и забыть об этом процессе (хотя многие рекомендуют перезагрузить устройство после этого). Если же это случается слишком часто с одним и тем же приложением, то следующим вашим шагом должно быть полное удаление его.

Так же рекомендуется получить рут права на вашем андроид устройстве. Это позволит вам делать оверклокинг (overclocking — разгон процессора) или андерклокинг (обратное оверклокингу), устанавливать кастомные прошивки, которые могут заметно повысить производительность и жизнь батареи, использовать приложения которые могут остановить запуск приложений при старте системы. Есть множество программ позволяющих сделать рутинг почти одним кликом на большинстве устройств, это займет всего несколько минут и вы будете гораздо счастливее от этого.

Источник

Все о процессах в android и работа с task killer

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

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

Принцип работы приложений и процессов в андроид

Компания Google, а именно она является разработчиком Android, сделала многое, что бы использование системы было максимально комфортным. В основе она заложило ядро Linux’а. Так вот Linux’ воспринимает запуск приложения, как задействованный процесс и после закрытия приложения совсем не торопиться его завершить. Ведь обращение к нему, возможно, повториться снова. Я думою вы часто замечали, что, не успев закрыть приложение (например, VK) и опять нажав на него, оно всплывает мгновенно. Это случается только потому, что процесс ещё не остановлен и находится в памяти виртуальной машины (оперативной памяти).

Как же система решает, какие из них должны быть закрыты, а какие нет? Для этого существует встроенная утилита OOM Killer.

OOM Killer (out of memory killer — нехватка памяти или её недостаток) занимается тем, что освобождает оперативную память на вашем устройстве.

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

Читайте также:  Когда хуавей обновить андроид до 6

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

Приоритеты процессов в андроид

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

  1. Foreground applications. Это приложения, которые всегда находятся на переднем плане. К ним относятся так называемые программы постоянного пользования, такие системные службы как «Телефон» или строка состояние, запущенная в режиме foreground. Приложения этой категории имеют наивысший приоритет. Они практически ни когда не закрываются.
  2. Visible applications. Это приложения, которые вы видите. Допустим, вы находитесь в браузере и вам позвонили, приложение браузер уходит с переднего плана на второй и из категории Foreground перейдёт в категорию Visible. Что не сильно понизит его приоритет. А уменьшит его настолько, чтоб вы после могли с лёгкостью к нему вернуться.
  3. Secondary Server. В этой категории находятся сервисные службы. Вы их не можете видеть, и они имеют скрытые процессы. Такие процессы останавливаются крайне редко и даже если это случилось при критической нехватки памяти, то, как только память восполниться они тут же будут запущены. Такие запущенные службы вовсе не потребляют энергию вашей любимой батареи, так как практически всё своё время находятся в ожидания и начинают активную деятельность только после того как выполнилась какую либо манипуляция затрагивающую этот самый процесс. Но только как вы перестанете им пользоваться, он «заляжет в спячку» в ожидании следующей команды
  4. Hidden applications. К этой категории относятся программы, не имеющие определённых служб из-за которых они становятся невидимыми. Допустим, вы работаете в программе и нажали кнопку «Домой». Такое приложение остаётся в памяти устройства. Ведь по критериям Android,а, человек нажавший кнопку «Домой» не собирается закрывать приложение, поэтому обязательно к нему вернётся. При нажатии кнопки «Назад» вы выходите, соответственно программа может быть закрыта.

Если вы действительно захотели завершить работу с приложением, нажмите кнопку «Назад», а не «Домой». Тогда память вашего устройства значительно расширится. Эту ошибку делают 90% пользователей Android.

Таск киллеры как способ удаления процессов

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

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

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

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

Выводы. Современные телефоны не нуждаются в ручном управлении процессами оперативной памяти (task killer). Система андроид сама правильно ей распорядится. Наиболее эффективно очищать свой телефон от не нужных программ с помощью специализированных приложений чистильщиков.

Источник

Убийца задач для андроид отключить

Запрет стандартному Task Killer’у выгружать нужные вам приложения.
Программа заставит устройство мгновенно реагировать на ваши действия и сделает его экономичнее!
Первая и единственная программа такого типа, которая действительно работает!
Меняется приоритет на -17, или любой другой, и не сбрасывается при выходе из проги.

Программа находится в режиме тестирования и доработки способа удержания апп в памяти.

Последнее обновление программы в шапке: 07.12.2012
AutoOOMmanager
Версия: 0.95

Как и любой обладатель андроида, который хоть немного знает про его работу, знаю, что стандартный тасккиллер убивает приложения при нехватке памяти.
Передо мной встал вопрос, как же заставить андроид запустить и держать в памяти ВСЕГДА приложения, которыми пользуюсь постоянно (например звонилка).
На форуме нашел предложения о повышении приоритета через renice или правкой билд.проп с указанием, что такие то приложения не убивать.
Но эти способы не работают.
Поизучав вопрос, нашел программы типа ® AutoKiller которые умеют делать приоритет oom killer -17
Но! Эти программы не умеют держать приоритет и стоит задать в ней, переключиться в само приложение и все, приоритет сброшен.

Отсюда и возникла эта тема. Хотим сделать программу, которая все таки будет работать.
Вроде получилось 😉
Смысл данной программы выполнить 4 команды
pidof — чтобы узнать в какой папочке искать файлик с приоритетом
cat — прочитать, чего в нем сейчас
и если в этом файлике НЕ -17, то
echo — записать -17
Ну и подсказали все это закрепить командой chmod и значениями 444

Выражаю огромную благодарность RubberBigPepper за помощь в реализации программы, а также asuslava за простую и гениальную идею с правами. Спасибо огромное! :thank_you:

Цель
Нужные приложения всегда в памяти, мгновенно открываются, мгновенный переход между приложениями ну и экономия батареи (тк не нужно подгружать данные и загружать проц/поднимать частоту)

Девиз темы
Нет ничего невозможного!)

Сообщение отредактировал Black_BG — 25.01.13, 21:57

Black_BG, я выяснил, что если свернуть-развернуть приложение, то эта настройка сбивается, т.е. AutoKiller просто меняет oom_adj процесса (в теме про твики я чуть подробнее это описал). Наверное, адекватного решения задачи (кроме как ежеминутно или даже чаще выполнять эти команды) нету, потому что Android меняет эти значения при изменении состояния приложения (свёрнуто, передний план, задний план, . ). Как отловить эти события «снаружи» интересующего приложения я не знаю.

Сообщение отредактировал Galamar — 17.10.12, 23:55

Ищу программиста, который сможет написать простую программу

подробности в шапке темы.

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

Добавлено 23.10.2012, 08:07:

можно пимп май цпу переделать. она же аналогична, только пишет по другому адресу.

можно) все тесты на мне если нужно.

Добавлено 23.10.2012, 08:34:

если поможет, то можно эту прожку разобрать. как мне кажется, что смысл похож, но пишет просто в другой файл. хотя могу ошибаться.
® Pimp My CPU

RubberBigPepper, ты наш спаситель! :happy:
Ушёл тестить.

UPD
У меня при запуске появляется «Reading apps» на 1 секунду, исчезает — и всё. Чёрный экран с названием программы.
В логе никаких ошибок нету.

Сообщение отредактировал Galamar — 24.10.12, 00:28

не критика. просто о логике приложения хотел поговорить.
Сейчас, как я понимаю, каждые 5 сек сервис проверяет, что за окно открыто. если окно иное чем 5 сек назад, заново переприсваивает -17 нужным приложениям. так?

Рассмотрю 2 ситуации, на обе уже наткнулся.

1) я сижу и читаю книгу 2 часа. ничего не происходит. зачем здесь каждые 5 сек проверять есть ли новое окно?
2) я зашел в приложение и в туже секунду вышел из него. получается сервис проморгал этот момент.

Я предлагаю следующую логику. Раз сервис все равно делает проверку каждые 5 сек на новое окно, то давайте лучше он каждые n секунд/минут будет тупо сувать -17 во все нужне места.

И самое главное!
Такие программы как ® Pimp My CPU и ® SetCPU тоже завязаны на запуск приложения.
Я уверен, что они не мониторят каждые n секунд что на экране. Почему? потому что смену частоты они делают мгновенно. либо они мониторят раз в 0,5 сек (тогда бы умерала батарейка быстро, а это не так) либо ждут какого то события.
Думаю, что они реагируют на какое то событие — «запуск приложения»/»смена приложения»/»поменялось окно» (не знаю как правильно назвать). событие произошло, они отреагировали мгновенно, а не мониторят каждые n секунд.


В идеале, я представляю следующую логику программы

  1. Сделали нужные приложения в проге неубиваемыми.
  2. вышли из проги и запустился сервис
  3. сервис НЕ мониторит каждые n секунд, а ждет события «запуск приложения»/»смена приложения»/»поменялось окно»
  4. Как только событие произошло, он меняет на -17 в нужных местах и ждет след. события.
  5. Также работает таймер который раз в n минут (именно минут, это для ситуации с чтением книги) принудительно запихивает -17 в нужные места, не глядя что там уже есть.

Посмотрите пожалуйста как реализовано ожидание события в ® Pimp My CPU и ® SetCPU
если удастся реализовать именно также, было бы замечательно, тк мне представляется, что это лучшая реализация, тк сбоев ни пимп ни сетцпу не дают даже при быстром переходе по домику (долгое нажатие)

Версия 0,1 бэта добавлена в шапку

Сообщение отредактировал Black_BG — 24.10.12, 08:41

Источник

Читайте также:  Как прервать загрузку андроид
Оцените статью