Как остановить запуск приложений и служб?

Когда мой телефон запускается, в фоновом режиме работает несколько приложений / служб, которые я бы предпочел не использовать. И когда я нажимаю кнопку «Домой» во время использования приложения, это приложение обычно переходит в фоновый режим без выхода. Как я могу остановить запуск этих приложений?

Это вики сообщества; каждый может свободно добавлять и исправлять информацию в ответе. :)
Связанное мета-обсуждение: meta.android.stackexchange.com/questions/1119/…
В Android 11 на устройстве TCL A3 мне удалось разблокировать приложение следующим образом: 1. Перейдите на главный экран. 2. Щелкните крайний правый системный значок в правом нижнем углу (просмотр задач). 3. При необходимости проведите пальцем, чтобы найти задачу, которая не закрывается. 4. В правом верхнем углу уменьшенного снимка экрана вы должны увидеть крошечный значок замка. Нажмите один раз, чтобы разблокировать (значок станет пустым), нажмите еще раз, чтобы заблокировать (значок станет заполненным). Ваш тап должен точно попасть в значок, то есть в его верхний левый угол.

Ответы (2)

Перво-наперво

У вас могут быть некоторые неправильные представления о том, как работает Android и что на самом деле происходит, когда служба работает или приложение находится в фоновом режиме. См. также: Действительно ли мне нужно устанавливать диспетчер задач?

Большинство приложений (например, те, которые вы запускаете вручную) переводят свою текущую активность в фоновый режим, когда вы переключаетесь на другое приложение или на домашний экран. Действия занимают некоторое количество памяти, так что вы можете вернуться в приложение и продолжить с того места, на котором остановились. Действия обычно не могут выполнять вычисления в фоновом режиме, поэтому для них не используется ни ЦП, ни батарея. Если вас беспокоит время автономной работы или производительность процессора, вам не нужно беспокоиться об этих приложениях! Вам также не нужно беспокоиться о памяти; Android автоматически удалит приложение и освободит память, если система работает на низком уровне.

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

Решения

Если вы уверены, что хотите остановить это приложение любой ценой, вы можете попробовать эти методы.

Удалить

Когда приложение делает что-то, что вам не нравится, будь то работа в фоновом режиме при запуске или что-то еще, ваш первый вариант — удалить его. Проблема решена! Вы можете удалить системные приложения, если у вас есть root, проще всего с помощью Titanium Backup , но будьте осторожны, удаляйте только вредоносные программы, а не критические системные приложения.

Однако, если вы хотите иметь возможность использовать это приложение, то это не вариант: продолжайте читать.

Пинг разработчика

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

Уничтожение приложений вручную

Во-первых, обратите внимание, что многие приложения полностью закрываются, если вы выходите из них, а не используете кнопку «Домой».

Если вы используете Ice Cream Sandwich или Jelly Bean, вы можете зайти в «Настройки», нажать «Приложения» и вручную закрыть приложение, перейдя к запущенным приложениям. В качестве альтернативы вы можете нажать кнопку «Последние приложения» и смахнуть их с экрана, чтобы закрыть. В более старых версиях Android может быть встроенный диспетчер задач, добавленный производителем для выполнения той же задачи, или вы можете загрузить приложение диспетчера задач для этого. Об услугах см Settings -> Applications -> Services.

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

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

Создайте новый Event. Добавьте вызываемое условие Active Appи выберите статус App stopped or in background. Выберите приложение, на котором вы хотите сосредоточиться. Далее добавьте Action. Выберите Kill Application (root privileges), затем снова выберите свое приложение.

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

Редактирование автозапусков и намерений

Как упоминалось выше, некоторые приложения могут запускаться при получении Intent (системных событий). Используя такое приложение, как Permissions Denied , вы можете изменить, какие разрешения могут запрашивать приложения, что, в свою очередь, ограничивает, какие события они могут получать. Или вы можете использовать приложение, такое как Autostarts (платное приложение), чтобы конкретно редактировать, какие намерения будут отправлены в какие приложения. Для обоих решений вам потребуется root-доступ.

Другие опции:

(Исходный код Autostarts также доступен здесь: https://github.com/miracle2k/android-autostarts )

ПРЕДУПРЕЖДЕНИЕ. Это может привести к тому, что приложения перестанут работать или заблокируют необходимые функции . Будьте осторожны, особенно с критически важными системными приложениями.

Замораживание приложений

Вы можете использовать такие приложения, как Titanium Backup или App Quarantine , чтобы полностью заморозить приложения, чтобы они вообще не могли запускаться. Если вы хотите использовать их, вы должны сначала разморозить их.

ВНИМАНИЕ: Не делайте этого с критически важными системными приложениями! Ваше устройство может не загрузиться.

Перевод приложений в спящий режим

Greenify (требуется Android 4.0+ и привилегия ROOT) использует другой подход, называемый «Спящий режим», от традиционного «Замораживания».

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

ПРЕДУПРЕЖДЕНИЕ. Не переводите в спящий режим приложения будильника, приложения для обмена мгновенными сообщениями и другие приложения, основная функциональность которых зависит от фонового механизма (таймер, системные события, «push» и т. д.).

Суть

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

+1. Шикарный ответ! Но что значит «величайшие демоны»? И что значит «убивать приложения при каждом их запуске»? (Если вы убиваете каждое приложение всякий раз, когда оно запускается, я бы подумал, что будет невозможно запустить и использовать какое-либо приложение вообще.) Было бы хорошо, если бы вы могли отправить мне ответ с поясняющим комментарием. :)
@unforgettableid «величайшие демоны» — это игра «величайших демонов» и «демонов» (услуг). «Убить приложения» не означает «убить ВСЕ приложения».
«Обычно действия не могут выполнять вычисления в фоновом режиме, поэтому для них не используется ни ЦП, ни батарея» — это просто неправда. Ничто не мешает действию запускать потоки и оставлять их работающими, когда оно покидает передний план. Возможно, вы хотели сказать: « Хорошее поведение обычно…». Ну, ладно, но беспокоит большинство людей те, кто ведет себя нехорошо.
@JeffreyBlattman Вы правы, пожалуйста, не стесняйтесь редактировать это, так как это ответ сообщества Wiki.
Все, что вы здесь пишите, имеет смысл. Тем не менее, я заметил ОГРОМНУЮ разницу в производительности после удаления дюжины приложений, которые, как я подозревал, выполняли случайные действия в фоновом режиме. Проблема в том, что их простое удаление ничего для меня не решает, так как мне действительно нужно большинство этих приложений (большинство из них — банковские приложения). Удаление их было просто экспериментом. Мой телефон стал заметно быстрее. После их переустановки все снова стало медленнее. Связаться с разработчиками таких приложений, как правило, бесполезно, а иногда даже невозможно, по крайней мере, по моему опыту. Любые другие варианты?

Предотвращение автоматического запуска приложения после перезагрузки устройства на Android 13+

Начиная с Android 13 Google добавил возможность запретить автоматический запуск приложений после перезагрузки устройства:

Если пользователь переводит ваше приложение в состояние «ограничено» для фонового использования батареи, в то время как ваше приложение нацелено на Android 13, система не доставляет широковещательную рассылку BOOT_COMPLETED или LOCKED_BOOT_COMPLETED до тех пор, пока приложение не будет запущено по другим причинам. 1

Это означает, что если пользователь ограничивает использование батареи в фоновом режиме для приложения, оно не может запускаться напрямую после перезагрузки устройства. Но для этого требуется, чтобы ваш телефон работал под управлением Android 13 или новее (и чтобы производитель перенял эту функцию у AOSP), а также приложение должно быть ориентировано на Android 13 или новее.

Чтобы включить режим ограничения заряда батареи, откройте «Настройки Android» -> «Приложения» (список приложений), выберите приложение, откройте его настройки батареи и измените его на «ограниченный».