Come posso interrompere l'esecuzione di applicazioni e servizi?


65

All'avvio del mio telefono ci sono diverse applicazioni / servizi in esecuzione che preferirei non fare. E quando premo il pulsante Home durante l'utilizzo di un'app, quell'app di solito passa in background senza uscire. Come posso interrompere l'esecuzione di queste app?


Questo è un Wiki della comunità; tutti si sentono liberi di aggiungere e correggere le informazioni nella risposta. :)
Matteo Leggi il

Risposte:


65

Cominciando dall'inizio

Potresti avere alcune idee sbagliate su come funziona Android e cosa sta realmente accadendo quando un servizio è in esecuzione o un'app è in background. Vedi anche: Devo davvero installare un task manager?

La maggior parte delle app (ad esempio, quelle avviate manualmente) hanno la loro attività corrente messa in secondo piano quando si passa a un'altra app o alla schermata iniziale. Le attività consumano un po 'di memoria, in modo da poter tornare all'app e riprendere da dove si era interrotto. Le attività di solito non sono in grado di eseguire calcoli in background, quindi non viene utilizzata alcuna CPU o batteria. Se la durata della batteria o le prestazioni della CPU sono la tua preoccupazione, non devi preoccuparti di queste app! Non devi nemmeno preoccuparti della memoria; Android ucciderà automaticamente l'app e libererà la memoria se il sistema si sta esaurendo.

Se l'app in background esegue un servizio, potrebbe trattarsi di una storia diversa. I servizi ben progettati trascorrono la maggior parte del loro tempo a dormire, svegliarsi per il controllo occasionale (ad esempio nuove notifiche sui social media). Tuttavia, i servizi mal progettati possono essere eseguiti più spesso o eseguire operazioni di sincronizzazione indesiderate, influendo sulla durata della batteria e sull'utilizzo dei dati. Se hai un servizio canaglia potresti provare una delle soluzioni di seguito.

soluzioni

Se sei sicuro di voler interrompere questa app a tutti i costi, puoi provare questi metodi.

Disinstallare

Quando un'app fa qualcosa che non ti piace, sia in esecuzione in background all'avvio o qualcos'altro, la prima opzione è disinstallarla. Problema risolto! Puoi rimuovere le app di sistema se disponi di root, più facilmente con Titanium Backup , ma fai attenzione a rimuovere solo il bloatware dell'operatore e non le app di sistema critiche.

Tuttavia, se vuoi essere in grado di utilizzare quell'app, questa non è un'opzione: continua a leggere.

Ping lo sviluppatore

Alcuni dei più grandi demoni forniti con Android sono servizi che vengono eseguiti in background senza motivo o quando un controllo dell'intervallo semplice con AlarmManager di Android sarebbe sufficiente. Dobbiamo ucciderli tutti con il fuoco e non ignorandoli. Tutto ciò che non comporta una correzione da parte dello sviluppatore è solo un trucco che si tradurrà in altri effetti collaterali negativi. Se contatta lo sviluppatore per il tuo problema, può risolvere l'app e continuare ad usarla normalmente. Questa è una vittoria per tutti i soggetti coinvolti.

Uccidere manualmente le app

Innanzitutto, tieni presente che molte app si chiuderanno completamente se esci da esse anziché utilizzare il pulsante Home.

Se stai eseguendo Ice Cream Sandwich o Jelly Bean, puoi andare in Impostazioni, selezionare Applicazioni e chiudere manualmente l'app passando le schede alle app in esecuzione. In alternativa, puoi premere il pulsante Applicazioni recenti e scorrere sullo schermo per chiuderle. Nelle versioni precedenti di Android potrebbe esserci un Task Manager integrato aggiunto dal produttore per ottenere lo stesso risultato, oppure è possibile scaricare un'app di Task Manager per farlo. Per i servizi, guarda Settings -> Applications -> Services.

ATTENZIONE: Evitare Non utilizzare killer attività automatiche! I task killer automatici vengono eseguiti in background (esattamente ciò che non si desidera) e uccidono le app ogni volta che si avviano. Il più delle volte questo peggiora le cose, perché le app spesso consumano più risorse quando si avviano rispetto a quando sono inattive. I servizi che vengono eseguiti automaticamente e vengono riavviati dal sistema verranno interrotti più volte, sprecando la batteria. Allo stesso modo, le app che ricevono eventi di sistema noti come Intenti (come la copertura della rete e le modifiche alla connettività) verranno eliminate ogni volta che si avviano per ricevere un evento. Non ne può derivare niente di buono.

Una possibile eccezione sono le attività automatiche che vengono eseguite solo quando l'utente esegue un'azione specifica. In sostanza, stanno solo semplificando la gestione manuale delle attività. Un'app come Tasker o Llama può essere utilizzata per terminare le attività quando si cambia app, ad esempio, garantendo che non rimangano in background. Istruzioni per il lama:

Creane uno nuovo Event. Aggiungi la condizione chiamata Active Appe scegli lo stato App stopped or in background. Scegli l'app su cui vuoi concentrarti. Quindi, aggiungi un Action. Seleziona Kill Application (root privileges), quindi seleziona di nuovo la tua app.

Ora, ogni volta che lasci l'app, Llama la ucciderà.

Modifica di avvitamenti automatici e intenti

Come accennato in precedenza, alcune applicazioni potrebbero avviarsi quando ricevono Intenti (eventi di sistema). Utilizzando un'app come Autorizzazioni negate è possibile modificare quali autorizzazioni possono richiedere le app, il che a sua volta limita gli eventi che possono ricevere. Oppure puoi utilizzare un'app come Autostarts (app a pagamento) per modificare in modo specifico quali Intenti verranno inviati a quali app. Per entrambe le soluzioni, avrai bisogno dell'accesso root.

Altre opzioni:

(Il codice sorgente di Autostarts è disponibile anche qui: https://github.com/miracle2k/android-autostarts )

ATTENZIONE: ciò può causare il mancato funzionamento delle app o l'inibizione della funzionalità desiderata . Procedere con cautela, in particolare con le app di sistema critiche.

App di blocco

È possibile utilizzare un'app come Titanium Backup o App Quarantine per completare le app di blocco in modo che non possano essere eseguite affatto. Se vuoi usarli devi prima sbloccarli.

ATTENZIONE: Non non farlo con le applicazioni di sistema critici! Il tuo dispositivo potrebbe non avviarsi.

Metti le app in letargo

Greenify (richiede il privilegio di Android 4.0+ e ROOT) utilizza un approccio diverso chiamato "Ibernazione", dal tradizionale "Congelamento".

Puoi ibernare in modo sicuro qualsiasi app non di sistema che non desideri venga eseguita in modo invisibile (tramite servizi persistenti, ricevitori di trasmissione, allarmi e così via), efficacemente equivalente a "blocco", mantenendo comunque tutti i suoi ingressi (icona di avvio, destinazione di condivisione , ecc.) e perfettamente funzionante quando lo si esegue esplicitamente, senza la necessità di sbloccarlo prima.

ATTENZIONE: Non non hibernatize app sveglia, applicazioni di messaggistica istantanea e altre applicazioni la cui funzionalità di base si basa sul meccanismo di sfondo (timer, eventi di sistema, "push", ecc) per lavorare.

La linea di fondo

Android è progettato per prendersi cura della gestione delle app per te. In tutti i casi, tranne i più estremi, non dovresti preoccuparti. In caso di problemi, ti consigliamo di scegliere la soluzione più semplice: la disinstallazione. Tutte le altre soluzioni sono degli hack su ciò che Android è progettato per fare. Forse un giorno Android avrà il supporto ufficiale per la gestione dei servizi ma, fino ad allora, stai attento.


+1. Splendida risposta! Ma cosa significa "i più grandi demoni"? E cosa significa "uccidere le app ogni volta che si avviano"? (Se uccidi ogni app ogni volta che si avvia, avrei pensato che sarebbe impossibile avviare e utilizzare qualsiasi app.) Sarebbe bello se potessi per favore chiamami con una risposta di commento che chiarisca. :)
indimenticabile il

@unforgettableid "i più grandi demoni" è un gioco di "grandi demoni" e "demoni" (servizi). "Uccidi le app" non significa "uccidi TUTTE le app".
Matteo Leggi il

2
"Le attività di solito non sono in grado di eseguire calcoli in background, quindi non viene utilizzata alcuna CPU o batteria per loro". Semplicemente non è vero. Non c'è nulla che impedisce a un'attività di avviare thread e lasciarli in esecuzione quando lascia il primo piano. Forse intendevi dire "Attività ben educate di solito ....". Bene, va bene, ma la preoccupazione per la maggior parte delle persone è di quelli che non si comportano bene.
Jeffrey Blattman,

@JeffreyBlattman Hai ragione, non esitare a modificarlo poiché è una risposta Wiki della community.
Matteo Leggi il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.