Cos’è Android esattamente?
Android è un sistema operativo multitasking, ed è stato concepito dall’inizio come un sistema dove non ci fosse il bisogno di dover chiudere le applicazioni. SI, i progettisti di Google hanno volutamente fatto in modo che le applicazioni non avessero bisogno di essere chiuse, e che fosse il sistema stesso a decidere quando e perché chiuderle.
Se guardate tutte le applicazioni per Android sviluppate da Google, nessuna di esse ha un tasto “exit” per uscire, questo perché Android, è un sistema concepito pensando alle molteplici attività che un normale utente svolge con lo smartphone tutti i giorni e in base a questo è stato fatto in modo che il sistema possa gestire efficientemente il passare da una applicazione all’altra, da un servizio all’altro, senza gravare l’utente dal decidere quando, come e perché chiudere un’applicazione.
Immaginate quello che fate normalmente, chiamare un amico, inviare un sms, rispondere ad una e-mail, dare uno sguardo a Facebook, alle notizie, o dare un’occhio al meteo. Ci districhiamo tra miriadi di applicazioni, e il sistema fa in modo per quanto possibile, di mantenere in memoria tutte le applicazioni che usiamo ripetutamente, sia perché sarà molto più veloce ripescarle dalla RAM, piuttosto che dalla memoria esterna, sia perché ripescarle dalla RAM e non riaprirle da zero, consente di consumare meno batteria e cicli di clock del processore.
Questo vuol dire che Android, al suo interno, ha il suo di task killer? (ebbene si) Esso ha il compito di gestire al meglio processi e applicazioni, per capire quando è il momento di chiudere quelle meno utili.
La domanda che sorge spontanea è.... c’è differenza tra processo e applicazione?
La risposta è ovviamente si, e ora andiamo a vedere cosa sono e cosa fanno.
Che cos’è un processo?
Un processo è un’attività che può essere effettuata da una o più applicazioni. Quando si pensa ad un’applicazione si pensa a qualcosa, come ad esempio ascoltare musica, inviare un messaggio su Facebook o sincronizzare il tuo feed rss...
invece no..questi sono processi,
perché sono le azioni che l’applicazione scatena per svolgere il suo compito. Tuttavia, è importante notare che solo perché esiste un processo in memoria, di cui non si conosce la funzione, non significa che questo processo sia inutile o non stia facendo nulla. Infatti i processi possono essere in uno stato di inattività o attivi.
Che cosa è un’applicazione?
Un’applicazione è qualcosa che fa uso di molti processi diversi per offrire alcune funzioni o funzionalità.
Per esempio le applicazioni di Facebook e Twitter, oppure I navigatori GPS, o anche i giochi ecc. ecc..
Una applicazione può essere inattiva o attiva, a seconda se ha tutti i processi attivi o meno attualmente ad essa associati.
Quando rilasciamo un’applicazione, il sistema gli permette di mantenere il suo processo in esecuzione in background (vero multitasking), permettendogli di continuare a fare il suo lavoro.
Per esempio continuare a scaricare le email o ascoltare la musica, o a scaricare una pagina web.
Tuttavia, solo perché le applicazioni lasciano i processi “in esecuzione” in background, non significa che questi non stiano realmente facendo nulla o siano inutili. Vengono tenuti in memoria nel caso si intenda riutilizzarle di nuovo nel breve periodo. Molte persone pensano che questo generi un inutile consumo di batteria, ma ciò non è affatto vero.
L’ingombro di un’applicazione “inattiva” in un dato momento in memoria utilizza esattamente la stessa quantità di batteria come sarebbe se quella parte di memoria fosse libera.
Che succede se la memoria scarseggia?
Abbiamo detto che Android ha il suo task killer interno ed è abbastanza intelligente da riconoscere quando si sta esaurendo la memoria disponibile, in quel caso inizierà a chiudere tutte quelle applicazioni che per lui sono a bassa priorità.
Il modo in cui determina la priorità lo vedremo meglio tra poco, ma in soldoni significa che le applicazioni che usate meno o che non sono fondamentali per il telefono saranno chiuse prima.
Le ultime ad essere chiuse, saranno invece le applicazioni che sono attualmente in primo piano, e che quindi sono applicazioni fondamentali, come la sveglia per esempio.
Quando Android chiude le applicazioni per liberare memoria, come dicevo prima, lo fa in maniera molto intelligente in quanto la prossima volta che viene riaperta una applicazione chiusa, fa in modo che sia ripristinata, come se non fosse mai stata chiusa. (questo è quello che iOS al momento, chiama multitasking, ma in realtà è solo un freezare l’applicazione ).
Quindi tutto questo significa che le applicazioni di “task killing” che pullulano nel market, non fanno che interferire pesantemente in tutta questa gestione, generando anche potenziali problemi di instabilità e scarse performance del terminale.
Vediamo quindi, prima di proseguire, di sfatare i luoghi comuni che riguardano i Task Killer
1) I Task Killer rendono il mio terminale più veloce?
FALSO
Al contrario i task killer rendono il sistema potenzialmente instabile e scattoso. Killare processi in maniera indiscriminata è deleterio, perché si possono uccidere processi magari condivisi tra più applicazioni, e questo fa si che il sistema sia costretto a riaprire le applicazioni in continuazione, per riaprire quel processo condiviso, e tentare di ripristinare il kill brutale magari proprio mentre quel task stava facendo un’attività. E questo può generare crash o lag che pensiamo possano derivare dalle applicazioni stesse, e invece siamo noi a creare tutto questo …
2) I Task Killer allungano la durata della batteria?
FALSO
I Task Killer al momento fanno esattamente l’opposto … riducono la durata della batteria!
Quando si killa un’applicazione si libera quella finestra di memoria che occupava, ma quasi sicuramente subito dopo la riaprirà, o quando la riaprirete, succederà che invece di ripescarla dalla RAM, dovrà riaprirla da zero e questo genera più lavoro al sistema e al terminale che dovrà usare quindi più energia. Da quando ho disinstallato Automatic Task Killer, ho dovuto ammettere una maggior durata della batteria, perché prima ATK stava sempre li bel bello in memoria a killare tutto e Android che subito dopo riapriva l’80% di quello che pochi secondi prima era stato chiuso … Questo batti e ribatti è proprio l’antibatteria per eccellenza …
3) Uso un Task Killer perchè non ho il pulsante exit nell’applicazione
FALSO
Non vi è alcun pulsante di uscita, perché Android è stato progettato per evitare all’utente la necessità di chiudere le applicazioni. Se un’applicazione ha bisogno di essere chiusa, Android lo farà da se al momento opportuno.
4) Ma allora i Task Killer non servono proprio a niente?
FALSO
Le applicazioni sviluppate per Android non sono tutte un modello di programmazione, alcune applicazioni mal sviluppate possono generare instabilità del sistema ed impedire il corretto funzionamento del terminale. In questo caso può essere utile killare quella tale applicazione che genera problemi per recuperare la situazione e disinstallarla. In questo caso utilizzate dei Task Killer manuali, che vi consentono di decidere quando e perché uccidere una tale applicazione o processo