La sessione di domande e risposte di oggi ci viene offerta per gentile concessione degli entusiasti di Android, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
La domanda
Il lettore Android Enthusiast Scott Severance è curioso di addomesticare la sua routine di avvio di Android:
When my phone starts up there are several application/services running in the background that I would rather not. And when I press the Home button while using an app, that app usually goes into the background without exiting. How can I stop these apps from running?
Qual è la soluzione e si ferma sempre il metodo più efficiente?
La risposta
Il collaboratore di SuperUser Matthew Read offre una descrizione dettagliata del motivo per cui questo potrebbe non essere importante quanto ritiene Scott e di come Android differisca fondamentalmente da altri sistemi operativi in relazione alle app di avvio e ai processi in background:
First Things First
You may have some misconceptions about how Android works and what’s really happening when a service is running or an app is in the background. See also: Do I really need to install a task manager?
Most apps (e.g., ones you launch manually) have their current Activity put into the background when you switch to another app or the homescreen. Activities consume some memory, so that you can go back to the app and pick up where you left off. Activities are usually not able to run computations in the background, so no CPU or battery is used for them. If battery life or CPU performance is your concern, you don’t need to worry about these apps! You don’t need to worry about memory, either; Android will automatically kill the app and free the memory if the system is running low.
If the app in background is running a service, that may be a different story. Well-designed services spend most of their time sleeping, waking up for the occasional check (new social media notifications, for example). However, poorly designed services may run more often or perform syncing operations that you don’t want, affecting battery life and your data usage. If you’ve got a rogue service you may want to try one of the solutions below.
Solutions
If you’re sure you want to make this app stop at all costs, you can try these methods.
Uninstall
When an app does something you don’t like, whether running in the background on startup or something else, your first option is to uninstall it. Problem solved! You can remove system apps if you have root, most easily with Titanium Backup, but be careful to remove only carrier bloatware and not critical system apps.
However, if you want to be able to use that app then this is not an option: keep reading.
Ping the Developer
Some of the greatest daemons that come with Android are services that run in background for no reason or when a simple interval check with Android’s AlarmManager would be sufficient. We need to kill them all with fire, and not by ignoring them. Everything that does not involve a fix by the developer is just a hack that will result in other negative side effects. If you contact the developer with your problem, they can fix the app and you can go on using it normally. That’s a win for everyone involved.
Manually Killing Apps
First, note that many apps will close completely if you Back out of them rather than using the Home button.
If you are running Ice Cream Sandwich or Jelly Bean, you can go into Settings, hit Applications, and manually shut down the app by tabbing over to the running apps. Alternatively you can hit the Recent Applications button and swipe them off the screen to close them. In older versions of Android there may be a built-in Task Manager added by the manufacturer to accomplish the same thing, or you can download a task manager app to do so. For services, look at
Settings -> Applications -> Services
AVVERTIMENTO: Farenon usa i killers automatici! I killer automatici vengono eseguiti in background (esattamente ciò che non si desidera) e uccidono le app all'avvio. Il più delle volte peggiora le cose, perché le app spesso consumano più risorse all'avvio rispetto a quando sono inattive. I servizi che vengono eseguiti automaticamente e che vengono riavviati dal sistema verranno uccisi più e più volte, sprecando la batteria. Allo stesso modo, le app che ricevono eventi di sistema noti come Intents (come la copertura della rete e le modifiche alla connettività) verranno uccise ogni volta che si avviano per ricevere un evento. Niente di buono può venire da esso.
Una possibile eccezione è rappresentata dalle attività automatiche eseguite solo quando l'utente esegue un'azione specifica. In sostanza, stanno solo rendendo più facile la gestione manuale delle attività. Un'app come Tasker o Llama può essere utilizzata per terminare le attività quando si cambiano le app, ad esempio, assicurandosi che non rimangano in background. Istruzioni per Llama:
Crea un nuovo
Event
. Aggiungi la condizione chiamata
Active App
e scegli lo stato
App stopped or in background
. Scegli l'app su cui vuoi concentrarti. Successivamente, aggiungi un
Action
. Selezionare
Kill Application (root privileges)
quindi seleziona nuovamente la tua app.
Ora, ogni volta che lasci l'app, Llama lo ucciderà.
Modifica di autostrade e intenti
Come accennato in precedenza, alcune applicazioni possono iniziare quando ricevono Intenti (eventi di sistema). Utilizzando un'app come Autorizzazioni negate, puoi modificare le autorizzazioni che le app possono richiedere, il che a sua volta limita gli eventi che possono ricevere. Oppure puoi utilizzare un'app come Autostart per modificare specificamente quali Intenti verranno inviati a quali app. Per entrambe le soluzioni, è necessario l'accesso come root.
Altre opzioni:
- Direttore Autorun
- Gestore di app Gemini
(Autostarts è un software gratuito / open source, disponibile anche da f-droid.)
AVVERTIMENTO: Ciò può causare il blocco o l'interruzione delle appricercato funzionalità. Procedere con cautela, specialmente con app di sistema critiche.
App di congelamento
Puoi 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 rimuoverli.
AVVERTIMENTO: Farenon fallo con app di sistema critiche! Il tuo dispositivo potrebbe non riuscire ad avviarsi.
Metti le app nello stato di ibernazione
Greenify (richiedono privilegi Android 4.0+ e ROOT) utilizzano un approccio diverso chiamato "Ibernazione", dal tradizionale "Freezing".
Puoi tranquillamente ibernare qualsiasi app non di sistema che non vuoi eseguire di soppiatto (tramite servizi persistenti, ricevitori broadcast, allarmi e così via), in modo equivalente equivalente a "congelamento", mantenendo comunque tutti i suoi ingressi (icona di avvio, obiettivo di condivisione, ecc) perfettamente funzionante quando si esegue esplicitamente itm, senza la necessità di sbloccarlo prima.
AVVERTIMENTO: Farenon applicazioni di sveglia in letargo, app di messaggistica istantanea e altre app la cui funzionalità di base si basa sul meccanismo di background (timer, eventi di sistema, "push", ecc.) per funzionare.
La linea di fondo
Android è progettato per prendersi cura della gestione delle app per te. In tutti tranne i casi più estremi, non dovresti aver bisogno di preoccupartene. Quando c'è un problema, ti consigliamo di andare per la soluzione più semplice - disinstallando. Tutte le altre soluzioni sono hacks su ciò che Android è progettato per fare. Forse un giorno Android avrà il supporto ufficiale per la gestione dei servizi ma, fino ad allora, fai attenzione.
Hai qualcosa da aggiungere alla spiegazione? Sound off nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.