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

65

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

Мэтью Рид
источник
Это вики сообщества; Каждый может свободно добавлять и исправлять информацию в ответе. :)
Мэтью Прочитал
Связанная мета-дискуссия: meta.android.stackexchange.com/questions/1119/…
поток

Ответы:

65

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

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

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

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

Решения

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

Удалить

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ВНИМАНИЕ: Вы не hibernatize будильники приложения, мгновенные приложения обмена сообщениями, а также другие приложения , чья основная функциональность зависит от фонового механизма (таймера, системные события, «толчок», и т.д.) , чтобы работать.

Нижняя линия

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

Matthew Читать
источник
+1. Великолепный ответ! Но что значит "величайшие демоны"? А что значит «убивать приложения, когда они запускаются»? (Если бы вы убивали каждое приложение при каждом его запуске, я бы подумал, что будет невозможно запустить и использовать какое-либо приложение вообще.) Было бы хорошо, если бы вы могли пинговать меня ответом на комментарий, который разъясняет. :)
незабываемый
@unforgettableid «наибольшие демоны» - это игра на тему «величайшие демоны» и «демоны» (сервисы). «Убить приложения» не означает «убить ВСЕ приложения».
Мэтью Читал
2
«Действия обычно не позволяют выполнять вычисления в фоновом режиме, поэтому для них не используется процессор или батарея», - это просто неправда. Нет ничего, что мешало бы активности запускать потоки и оставлять их запущенными, когда они покидают передний план. Возможно, вы хотели сказать « Обычно хорошо себя ведут» .... Ну, ладно, но большинство людей беспокоятся о том, что они плохо себя ведут.
Джеффри Блатман
@JeffreyBlattman Вы правы, пожалуйста, не стесняйтесь редактировать это, так как это ответ сообщества Wiki.
Мэтью Прочитал