________________________________________________________________________________________________________________________________

lunedì 23 gennaio 2012

[SMARTPAD810C] Perché è inutile usare un task killer?

Perchè è inutile usare un task killer?



 



E' abitudine di molti appena visualizzano le applicazioni in background di android di andare sul market e installare un task killer per paura che qualche applicazione in background consumi tutta la batteria e rallenti il telefono consumando la memoria.



Primo Punto



Android è figlio di linux e non di Windows, in Windows hanno senso programmi che puliscono e ottimizzano la memoria, in linux no e si comporta allo stesso modo se hai 10 o 100MB di memoria libera.

Come gestisce le applicazioni Android

Le applicazioni e i processi in Android hanno 3 stadi definiti:
1) In Esecuzione
2) In Pausa
3) Stoppati

Ogni applicazione viene eseguita in un proprio processo Android inizia il processo quando c'è bisogno di essere eseguito e lo termina quando non è più necessario, essa vive in un proprio mondo e il suo codice in esecuzione è isolato da tutto il resto con una Virtual Machine propria, ad essa viene assegnato un ID i cui permessi sono visibili all'utente e all' applicazione stessa.
Nel caso un applicazione ha bisogno di condividere i file con un altra applicazione viene creato un unico ID per risparmiare memoria con un unica Virtual Machine anche lei condivisa.


I servizi sono attivi fin tanto che ne hanno bisogno così come le attività che richiedono la connessione dati e ogni processo di Android. Per capirci se un applicazione o un qualsiasi processo ha bisogno di connettersi in rete e verificare se non vi siano aggiornamenti essa è attiva quel tanto che fà questa operazione.

Non è un bene terminare queste operazioni perchè o il processo tornerà immediatamente attivo ricominciando tutto da capo o nel momento che andiamo ad aprire un applicazione essa impiegherà più tempo per aprirsi.
Tutti i processi vengono terminati quando non ce ne è più bisogno o quando viene richiesta memoria da altri processi.

Se un utente lascia un task per molto tempo il sistema cancella tutte le attività tranne quelle di root , e quando l'utente torna nel task esso è come l'utente l'aveva lasciato.

Un applicazione è in esecuzione quando appunto l'utente la sta eseguendo ed è in primo piano per il sistema

Quando essa non è più al centro dell' attenzione ma può essere ancora visibile viene messa in pausa e può essere killata dal sistema in caso di necessità per estrema scarsità di memoria

Infine l'applicazione viene stoppata, mantiene tutte le informazioni ma non è più visibile sullo schermo ed è in background, può essere killata da Android per qualsiasi altra attività che ha bisogno di memoria.

Riepilogando Android è progettato per killare i tasks quando

C'è bisogno di più memoria
Hanno finito la loro attività
Non vengono usate per molto tempo

Killare processi "a mano" può portare a effetti indesiderati come mancata ricezione di messaggi, rallentamenti, crash dei widget ecc

La maggior parte delle applicazioni si chiude con il tasto BACK e comunque anche premendo il tasto HOMEAndroid chiuderà il task dopo che questo sarà stato in background per un certo periodo di tempo.

La maggior parte dei servizi che girano in background utilizza pochissima memoria quando non stanno facendo qualcosa così anche tutti gli altri processi (notifiche ecc)


Domada: Ma perchè mi si apre google maps, facebook mail ecc.

Questi programmi non sono effettivamente "aperti" se ci fate caso sono tutti programmi che hanno bisogno di connessione di rete, quando si accende il telefono essi non fanno altro che controllare aggiornamenti e notifiche per poi richiudersi.
Se killiamo queste attività succede che la maggior parte di esse si riaprirà ricominciando tutto da capo oppure impiegheranno più tempo ad aprirsi quando ne avremo bisogno, o ancor peggio non ci daranno informazioni esatte e aggiornate o non funzioneranno a dovere oltre a sfruttare molto di più il processore.

Dammi un:

0 commenti:

Posta un commento

Twitter Delicious Facebook Digg Stumbleupon Favorites More