Як я можу зупинити запуску програм і служб?


65

Коли мій телефон запускається, у фоновому режимі працює кілька додатків / служб, які я б не хотів. Коли я натискаю кнопку "Домашня сторінка" під час використання програми, ця програма зазвичай виходить на задній план без виходу. Як я можу зупинити запуск цих додатків?


Це спільнота Wiki; всі сміливо додають та коректують інформацію у відповідь. :)
Матвій

Мета мета дискусії: meta.android.stackexchange.com/questions/1119/…
Потік

Відповіді:


65

Насамперед

У вас можуть виникнути помилки щодо того, як працює Android і що насправді відбувається, коли служба працює або програма знаходиться у фоновому режимі. Дивіться також: Чи дійсно мені потрібно встановити менеджер завдань?

Більшість програм (наприклад, ті, які ви запускаєте вручну), свою поточну активність кладуть на задній план, коли ви переходите на інший додаток або домашній екран. Діяльність займає деяку кількість пам’яті, щоб ви могли повернутися до програми та вибрати там, де ви зупинилися. Заходи зазвичай не в змозі запускати обчислення у фоновому режимі, тому для них не використовується жоден процесор або батарея. Якщо проблема роботи акумулятора або процесора, вам не потрібно турбуватися про ці програми! Вам також не потрібно турбуватися про пам’ять; Android автоматично вбиває додаток і звільнить пам’ять, якщо в системі не вистачає.

Якщо у додатку у фоновому режимі працює служба, це може бути інша історія. Добре розроблені сервіси проводять більшу частину часу уві сні, прокидаючись для випадкових перевірок (наприклад, нові повідомлення у соціальних мережах). Однак погано розроблені сервіси можуть запускатися частіше або виконувати непотрібні операції синхронізації, що впливає на ресурс акумулятора та використання ваших даних. Якщо у вас є негідний сервіс, ви можете спробувати одне з наведених нижче рішень.

Рішення

Якщо ви впевнені, що хочете зупинити цю програму будь-якою ціною, ви можете спробувати ці методи.

Видаліть

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

Однак якщо ви хочете користуватися цим додатком, це не варіант: продовжуйте читати.

Пінг розробника

Деякі з найвищих демонів, які поставляються з Android, - це сервіси, які працюють без заднього періоду, або тоді, коли достатня проста перевірка інтервалу за допомогою AlarmManager Android. Нам потрібно їх усіх вбити вогнем, а не ігноруючи їх. Все, що не передбачає виправлення розробником, - це лише хак, що призведе до інших негативних побічних ефектів. Якщо ви зв’яжетеся з розробником зі своєю проблемою, вони можуть виправити додаток, і ви можете продовжувати його нормально використовувати. Це виграш для всіх учасників.

Вбивства вручну

По-перше, зауважте, що багато додатків повністю закриються, якщо ви відмовитесь від них, а не натискаєте кнопку "Головна".

Якщо ви використовуєте сендвіч-морозиво або Jelly Bean, ви можете зайти в Налаштування, натиснути програми та вручну вимкнути додаток, вклавши вказівки до запущених програм. Крім того, ви можете натиснути кнопку Останні програми та проведіть пальцем із екрана, щоб закрити їх. У старих версіях Android може бути вбудований диспетчер завдань, доданий виробником для виконання того ж самого, або ви можете завантажити додаток диспетчера завдань, щоб зробити це. Щодо послуг, подивіться Settings -> Applications -> Services.

УВАГА: Ви НЕ використовувати автоматичні вбивця завдання! Автоматичні вбивці завдань запускаються у фоновому режимі (саме те, що ви не хочете) і вбивають програми, коли вони починаються. Здебільшого це погіршує ситуацію, оскільки програми часто споживають більше ресурсів під час запуску порівняно з тим, коли вони сидять у режимі очікування. Служби, які запускаються автоматично і перезапускаються системою, будуть вбиватися знову і знову, витрачаючи витрату акумулятора. Аналогічно, додатки, які отримують системні події, відомі як "Інтенти" (наприклад, охоплення мережі та зміни підключення), будуть вбиті щоразу, коли вони починають отримувати подію. Нічого хорошого з цього не виходить.

Можливим винятком є ​​автоматичні завдання, які виконуються лише тоді, коли ви, користувач, виконуєте певну дію. По суті, вони просто полегшують керування завданнями вручну. Додаток на кшталт Tasker або Llama можна використовувати для припинення діяльності, наприклад, перемикаючи додатки, забезпечуючи, щоб вони не залишалися у фоновому режимі. Інструкція для лами:

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

Тепер, коли ви виходите з програми, Llama буде вбивати її.

Редагування автозапуску та інтенції

Як було сказано вище, деякі програми можуть запускатися, коли вони отримують Інтенти (системні події). Використовуючи таку програму, як " Відхилені дозволи", ви можете змінювати, які додатки можуть запитувати, що, в свою чергу, обмежує, які події вони можуть отримувати. Або ви можете використовувати такий додаток, як Autostarts (платний додаток), щоб редагувати, які саме інтенти будуть надсилатися до яких додатків. Для обох рішень вам знадобиться кореневий доступ.

Інші варіанти:

(Вихідний код автозапуску також доступний тут: https://github.com/miracle2k/android-autostarts )

ПОПЕРЕДЖЕННЯ. Це може призвести до припинення роботи програм або заборонити потрібну функціональність. Дійте обережно, особливо з критичними додатками системи.

Морозильні програми

Ви можете використовувати таку програму, як Titanium резервне копіювання або карантин програми, щоб завершити заморожування програм, щоб вони взагалі не могли працювати. Якщо ви хочете скористатися ними, вам слід спочатку скасувати їх заморожування.

УВАГА: Ви НЕ зробити це з допомогою критичних системних додатків! Ваш пристрій може не завантажитися.

Покладіть програми на сплячку

Greenify (вимагають привілеїв Android 4.0+ та ROOT) використовують інший підхід, який називається "сплячка", від традиційного "заморожування".

Ви можете спокійно перезимувати будь-який несистемний додаток, якого ви не хочете, щоб воно стабільно працювало (через постійні сервіси, трансляції приймачів, тривогу тощо), що ефективно еквівалентно "заморожуванню", при цьому зберігайте всі його входи (піктограма запуску, спільна мета і т. д.) і повністю функціональний, коли ви експлікаційно запускаєте його, не потрібно спочатку його скасовувати.

УВАГА: Ви НЕ hibernatize будильники додатки, миттєві додатки обміну повідомленнями, а також інші додатки , чия основна функціональність залежить від фонового механізму (таймера, системні події, «поштовх», і т.д.) , щоб працювати.

Суть

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


+1. Чудова відповідь! Але що означають "найбільші демони"? І що означає "вбивати програми, коли вони починаються"? (Якщо ви вбиватимете кожен додаток кожного разу, коли він запускається, я б подумав, що запустити та використовувати будь-який додаток взагалі неможливо.) Було б добре, якщо ви можете, будь ласка, надіслати мені коментар у відповідь, який уточнює. :)
незабутнійід

@unforgettableid "найбільші демони" - це п'єса про "найбільших демонів" і "демонів" (служб). "Вбити додатки" не означає "вбити ВСІ додатки".
Матвій

2
"Заходи зазвичай не в змозі запускати обчислення у фоновому режимі, тому для них не використовується жоден процесор або батарея." - це просто не так. Немає нічого, що не зупиняє діяльність із запуску ниток і не дає їм працювати, коли вона залишає передній план. Можливо, ти мав на увазі сказати " Добре себе веде діяльність звичайно ....". Ну гаразд, але турбота більшості людей викликає недобре поводження.
Джефрі Блатман

@JeffreyBlattman Ви маєте рацію, будь ласка, відредагуйте це, оскільки це відповідь Wiki-спільноти.
Матвій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.