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 App
e 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.