Нужно ли использовать ТаскКиллеры?

Категория: Samsung Galaxy Tab 10.1

Сильно заморачиваться с убийцами приложений не стоит:
Вот цитата одного из пользователей.

NickD 28.03.2011, 12:29
"Не надо ничего отключать. Позволю себе донести смысл в вольном переводе: в андроиде приложения работают не так, как вы привыкли. Есть "активити", то есть интерфейс пользователя. Они могут запускать другие активити. Каждый раз когда новая активити стартует, предыдущая останавливается, но продолжает храниться в стеке. То есть не ест батарею и проц. Аппарат тяжелее не становится. Просто хранится в остановленном состоянии.
Также активити стартуют сервисы. Сервисы совершают действия в бэкграунде (в фоне) и не имеют интерфейса.

Многие приложения из Маркета используют уже имеющиеся и запущенные сервисы или запускают их сами (!!!). Это и есть отличительная особенность андроида: не обязательно писать музыкальный плеер целиком, достаточно написать интерфейс и использовать уже имеющийся сервис играющий музыку. Если он уже запущен, просто "подключится" к нему.
Доступно? Нет?! Ну и хорошо! Едем дальше.

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

Если вы выключаете экран - ничего не работает, кроме того что задекларировано и должно работать (музыка к примеру, телефон). Есть достаточно сложный набор правил, по которым вычисляется кандидат на убийство. Мне кажется что разработчики системы несколько более осведомлены о том, как надо убивать сервисы и активити в отличие от киллеротворителей, которые "заслуживают анальной казни" ;О)

Поймите, не будет быстрее или медленнее работать система, если у неё останется больше или меньше памяти. Она будет работать так же! Если вы забили оперативку (не знаю как вам удалось это!), то забили вы её диким количеством мелочи, но сервисов там всё равно ограниченное количество. И часть из этого дикого количества мелочи используют совместно. Киллер убивает, при какой-нибудь настройке, скажем активити + сервис, остальные активити моментально остаются "без ног" и когда вы пытаетесь вызвать какую-нибудь из них, судорожно начинают пускать сервис который им необходим, отжирая батарейку, ресурс процессора и ваше время. А если эти активити не прибиты и хранятся в стеке, то что тогда? Тогда они ещё и без рук, потому что активити есть, а сервиса который ей нужен нет. Получаем ошибку, замедление работы и прочие приятности."

Ответы