lunedì 23 febbraio 2015

Conosciamo il nostro Droide ... la RAM

Da un commento lasciato in questo post mi sono reso conto che l'utente medio di Android non conosce il funzionamento della RAM.
Quando andiamo a comprare il nostro nuovo telefono leggiamo informazioni relative allo schermo, alla connettività, alla CPU ... e alla RAM.
La RAM è un tipo di memoria di velocissimo accesso, ma volatile, ovvero si azzera allo spegnimento del dispositivo. Tale memoria viene utilizzata dal dispositivo per evitare di andare a leggere in continuazione la memoria "ufficiale" (più grande, ma più lenta).

In genere per vedere quanta RAM ha il nostro dispositivo e chi  la usa è necessario andare in
Impostazioni -> Applicazioni -> In Uso
Come si vede nella schermata di cui sopra il mio dispositivo mi dice che ho 448 MB liberi e 246 liberi.
  • Alcune applicazioni Android, all'avvio del dispositivo si caricano in RAM, in modo sia più veloce la loro apertura. 
  • Ogni volta che smettiamo di utilizzare un'applicazione qualsiasi Android non la uccide, ma la congela in RAM, questo per rendere più veloce un suo siccessivo avvio.
Nel momento in cui il sistema operativo ha bisogno di RAM e non la trova disponibile, comincia a spegnere le applicazioni congelate, in modo da rendere disponibile quella quantità di memoria per l'utilizzo attuale.
Questo meccanismo rallenta un pochino il sistema, ma ci viene in contro, non dobbiamo quasi mai preoccuparci che la RAM del telefono sia  quasi tutta occupata, ci pensa il dispositivo stesso a liberarla.

Tutto ciò, purtroppo, ha un rovescio della medaglia, considerando che il sistema operativo ha bisogno di utilizzare RAM per funzionare e che non chiuderà mai se stesso, nel caso in cui la RAM fosse pochina potrebbe anche chiudere l'applicazione che stiamo tentando di usare, ricordiamo che la testiera è un'applicazione che si prende quasi 50 MB di RAM.

Fino a qualche mese fà utilizzavo un Galaxy S (i9000), un telefono datato con soli 370 MB di RAM, dovevo stare molto attento alle applicazioni che installavo, mi succedeva che la tastiera mi si chiudeva da sola mentre scrivevo, oppure Waze non si avviava proprio mandando in loop il sistema operativo.

Usare quelle applicazioni che fanno da Task Manager presenti sul Play Store oltre ad essere inutile è anche dannoso. Chiuderebbero tutte le applicazioni in uso, ma molte di esse all'interno prevedono dei servizi, i servizi sono delle "applicazioni" che non si interfacciano direttamente con l'uomo, ma che servono per far funzionare l'applicazione stessa (es. whatsapp ha un servizio che dialoga costantemente con i server, essi raccolgono i messaggi per noi e li danno all'applicazione che ce li fà vedere). I servizi in genere  si avviano automaticamente all'avvio del dispositivo e si riavviano da soli quando si accorgono di essere chiusi. Di conseguenza l'uso del task manager non fa altro che chiudere servizi i quali si riapriranno da soli consumando risorse del telefono stesso (processore e sopratutto batteria).
Si può intuire quali tipi di applicazioni in genere usano i servizi.

Un sistema per liberare memoria senza fare danni è quello di utilizzare il pulsante del multitasking (quello posizionato a destra nella foto a fianco). Una volta premuto ci appaiono tutte le applicazioni congelate, una swipe (trascinamento) laterale fa in modo esse vengano chiuse e la RAM venga liberata.
Tale operazione permette solo di velocizzare un po' il dispositivo, se non facciamo noi questo lavoro lo farà Android quando lo riterrà necessario.

In genere se abbiamo un terminale con poca RAM, sul genere del mio,  e riscontriamo problemi di chiusura delle applicazioni non ci resta che controllare quali applicazioni utilizzano più RAM e disinstallarle se possibile.

Al momento attuale Chrome e Facebook sono considerate , tra le applicazioni più usate, quelle molto affamate di RAM, e io come alternative uso Atlas al posto di Chrome e nel secondo caso Facebook Lite.
Altre soluzioni per risparmiare RAM:
  • tenere sul nostro cellulare solo le applicazioni che usiamo realmente e di togliere di mezzo tutte quelle che non usiamo (esse potrebbero avere dei servizi che rimangono accesi rubandoci RAM)
  • non abbondare con i widget, essi sono applicazioni sempre attive, nella mia schermata iniziale vediamo che Chronus si prende 20 preziosi MB di RAM, lo uso come widget per la lockscreen.