Scegliere uno smartphone oggi può non essere semplicissimo. Le lunghe schede tecniche possono mandare in confusione soprattutto i “non addetti ai lavori”.
Un tema sul quale spesso si sentono le argomentazioni più fantasiose è la dotazione dello smartphone in termini di memoria RAM.
Di quanta RAM ha bisogno uno smartphone moderno per funzionare senza problemi?
Quando si esegue un’app o un gioco sullo smartphone questo viene caricato nella RAM. Finché un’applicazione è ancora nella RAM è possibile interagirvi molto velocemente senza attingere alla memoria interna che seppur sempre più veloce (UFS 3.1) non è neppure lontanamente paragonabile alla RAM in termini di tempi di accesso e performance.
La RAM garantisce tempi di accesso notevolmente più rapidi rispetto allo storage: ampie porzioni del sistema operativo e delle app in esecuzione vengono così mantenute in RAM così da azzerare il collo di bottiglia derivante dall’accesso allo storage.
La RAM è quindi fondamentale per il multitasking: si può passare velocemente da un’app in esecuzione all’altra e tenere molte applicazioni contemporaneamente in memoria proprio grazie alla capacità della RAM.
Non solo. In uno smartphone sono tanti i processi che vengono tenuti in esecuzione in background: alcuni sono servizi di sistema, altri sono meccanismi collegabili alle singole app installate. Per le app di terze parti è possibile accedere alle impostazioni del sistema operativo e stabilire se esse abbiano o meno l’autorizzazione per svolgere attività in background.
Quanta RAM serve in uno smartphone
In linea teorica più RAM offre lo smartphone più processi e quindi più applicazioni possono essere mantenuti simultaneamente in esecuzione.
A differenza dei PC, dove qualche secondo di ritardo nel caricamento di un’app è accettabile, ci aspettiamo che le app si carichino istantaneamente sui nostri smartphone, soprattutto quando siamo in viaggio.
I primi smartphone Android avevano appena 192 MB di RAM mentre il padre di tutti gli iPhone se la cavava con 128 MB di RAM.
Nell’ultimo decennio la dotazione di memoria RAM degli smartphone è cresciuta sempre di più per arrivare fino ai 16 GB del Samsung Galaxy S21 Ultra.
Apple vola più basso: per i suoi nuovi iPhone 13 e iPhone 13 Pro Max bastano appena 4 e 6 GB. Perché questa differenza. Lo vedremo più avanti.
Nel caso degli smartphone Android di punta è sempre più frequente l’utilizzo di 12 GB di RAM ma tantissimi dispositivi montano 8 GB.
Con 16 GB di RAM il Samsung Galaxy S21 Ultra ha il doppio della RAM del suo fratello minore, il Galaxy S21. Entrambi i telefoni hanno lo stesso SoC e specifiche simili, quindi perché questo incisivo balzo in avanti sul piano della memoria RAM?
Condividendo i dati relativi all’ultimo trimestre 2020 secondo un’indagine di App Annie un utente in media ha installato 110 app e usa 46 app diverse nell’arco di un mese.
In generale molti pensano che più RAM c’è meglio è ma anche acquistare uno smartphone con tanta RAM che poi non si utilizzerà davvero è un errore.
Fatta eccezione per esigenze molto specifiche, non è necessario oggi avere 12 GB o più di memoria RAM in uno smartphone.
La sensazione è che alcuni produttori siano costantemente impegnati in una “battaglia di numeri” per dire: “ehi, guardate, il nostro smartphone ha più RAM dei concorrenti quindi è certamente migliore“.
È una tattica ormai ben nota che non riguarda soltanto la RAM ma anche i Megapixel delle fotocamere, la velocità di clock e il numero di core del SoC, lo storage interno. Anche se quest’ultimo può essere giustificabile sulla base del volume di dati che un utente è abituato a salvare: se si scattano tante foto e si acquisiscono molti video una buona dotazione in termini di memoria interna fa sicuramente comodo.
A questo proposito, in un altro articolo abbiamo presentato alcuni consigli per scegliere quale smartphone Android comprare.
Più RAM si inserisce in uno smartphone maggiore sarà l’assorbimento energetico e minore sarà l’autonomia della batteria. La RAM ha lo stesso impatto in termini energetici indipendentemente dai dati che sta memorizzando.
In altre parole se non state usando la RAM allora si subirà un inutile consumo della vostra batteria. Come abbiamo detto anche del caso dei sistemi notebook e desktop, la RAM deve essere sempre scelta sulla base delle proprie esigenze: disporre di un telefono con tanta RAM che non si userà appieno è controproducente.
Perché gli iPhone usano molta meno RAM dei top di gamma Android
Gli iPhone riescono a ottenere prestazioni comparabili ai top di gamma Android con meno RAM a causa delle differenze fondamentali nel modo in cui le piattaforme iOS e Android gestiscono la memoria.
Android si basa su un meccanismo chiamato garbage collection mentre iOS adotta un approccio conosciuto come reference counting. Entrambe le soluzioni hanno vantaggi e svantaggi ma in generale la prima richiede più memoria per evitare cali di performance.
Apple ha un vantaggio che i produttori di smartphone Android spesso non hanno. Il sistema operativo di Google è progettato per funzionare su una vastissima schiera di dispositivi con le configurazioni hardware più diverse. Il codice delle singole app deve inoltre adattarsi a ciascun modello di smartphone.
La Mela può invece permettersi di ottimizzare fino all’estremo il sistema operativo perché si sa fin dall’inizio su quali specifici dispositivi funzionerà. Anche gli sviluppatori Apple conoscono esattamente il tipo di hardware sui quali verranno eseguite le loro app.
Confezionare codice su misura capace di adattarsi a pennello a una specifica piattaforma come iOS porta con sé innegabili vantaggi anche sul piano dell’occupazione di memoria RAM.
Le app iOS sono app native scritte ricorrendo a linguaggi nativi, Objective C e Swift. Android è una “piattaforma interpretata” e le app vengono eseguite usando macchine virtuali, originariamente Dalvik poi Android Runtime (ART).
Le applicazioni vengono sviluppate usando linguaggi interpretati, ad esempio Java o Kotlin.
I vantaggi sono evidentemente enormi in termini di flessibilità ma c’è molta meno ottimizzazione rispetto al “mondo iOS” ed Apple in generale.
Non usare mai task killer ma verificare le app in esecuzione
L’importante, come regola generale, è non usare mai app che permettono di ripulire il contenuto della RAM: sono un po’ una sorta di “olio di serpente”.
Cancellare periodicamente il contenuto della RAM non contribuisce a migliorare l’autonomia della batteria e anzi può avere l’effetto contrario contribuendo a rallentare le prestazioni dello smartphone.
Semmai è bene concentrarsi sulla chiusura ed eventualmente sulla disinstallazione/sostituzione di quelle app che restano sempre in esecuzione in background e contribuiscono a ridurre la durata della batteria oltre che ad appesantire il dispositivo mobile.
Uno smartphone che si scalda può essere sintomo del caricamento di app particolarmente pesanti che restano in esecuzione.
Nella sezione Batteria delle impostazioni di Android si può trovare l’elenco delle applicazioni che provocano il consumo energetico maggiore.
Attivando il menu Opzioni sviluppatore e scegliendo Servizi in esecuzione o Running services si possono trovare i dati relativi all’utilizzo della memoria RAM da parte di ciascun processo sia quando un’app è caricata in primo piano che gestita in background.
Android e iOS: un approccio diverso nella gestione della RAM rispetto a Windows
In Windows si può di fatto portare il sistema al collasso aprendo decine di applicazioni, tante schede nel browser e richiedendo contemporaneamente l’elaborazione di pesanti immagini e video.
Non è invece possibile utilizzare così maldestramente un dispositivo mobile perché la gestione della memoria è più aggressiva.
Se, in Windows, è necessario chiudere file e programmi in esecuzione per liberare RAM, Android e iOS semplicemente “liberano” la RAM quando necessario: alcune app manterranno parte del loro “stato” nello storage ma a questo punto il sistema operativo dovrà ricaricarle completamente.
Se si “abbandona” un’applicazione e vi si tornasse ad esempio dopo 30 secondi sarà come se essa venisse avviata di sana pianta.
Piuttosto che terminare ogni processo dopo che questo viene abbandonato dall’utente, ad esempio premendo il tasto Home, Android preferisce mantenerlo in memoria fintanto che non ricorre la situazione che porta all’effettiva rimozione dalla RAM.
La decisione sull'”uccisione” di un processo caricato in RAM spetta a un componente chiamato LMKD (Low Memory Killer Daemon), il successore del driver LMK (Low Memory Killer) usato anni fa nelle prime versioni di Android.
Esso monitora lo stato della memoria del dispositivo Android e reagisce a situazioni estreme (in cui ad esempio la RAM risulta per larga parte impegnata) chiudendo i processi meno essenziali per mantenere le prestazioni del sistema a livelli accettabili.
Il ritardo con cui le varie attività vengono avviate a causa della scarsezza di memoria RAM disponibile viene continuamente verificato da LMKD. Le strategie con cui Android chiude i processi superflui sono personalizzabili come riportato da Google in questo documento tecnico.
L’approccio più evoluto e flessibile è stato implementato ad oggi con il rilascio di Android 11.
Aspetti tecnologici legati alla tipologia di RAM utilizzata
Negli smartphone e negli altri dispositivi mobili si utilizzano memorie RAM LPDDR (low power double data rate): sono adatte a questo tipo di prodotti per via del contenuto consumo energetico a differenza delle DDR (double data rate) utilizzate su PC desktop e notebook.
Con il passare del tempo, quando gli smartphone hanno iniziato a richiedere potenza, JEDEC – organismo di standardizzazione dei semiconduttori – nel 2014 ha presentato le memorie LPDDR4.
Sono state sviluppate per supportare video 4K, la gestione dei video in slow motion, il riconoscimento dei volti, per assicurare tempi di avvio e caricamento delle app più rapidi.
Presentate come in grado di gestire 4266 Mbps (realisticamente 3200 Mbps), queste memorie hanno consentito di compiere un netto balzo in avanti sul piano delle prestazioni.
Abbassando la tensione a 1,1V, le memorie LPDDR4 non soltanto erano più veloci rispetto a quelle precedenti ma consumavano anche meno energia.
Con le RAM LPDDR4X ci si è spinti ancora più avanti riducendo la tensione a 0,6V e portando la velocità di trasferimento dati a 4266 Mbps.
Nel 2019 lo standard JEDEC LPDDR5 ha permesso di raddoppiare la velocità portandosi a 6400 MT/s. Con i SoC sempre più veloci, l’avvento del 5G e i giochi su mobile sempre più esigenti in termini prestazionali era necessario sviluppare una memoria ancora più veloce.
LPDDR5 ha anche una maggiore efficienza energetica grazie al dynamic voltage scaling (DVS) e poggia su un’architettura multi-clocking per abbassare al bisogno la frequenza e la tensione della RAM.
A metà 2021 JEDEC ha annunciato LPDDR5X che permette di trasferire dati a 8533 Mbps salendo ulteriormente rispetto ai 6400 Mbps della precedente revisione.