Perché Android ha bisogno di più RAM di iOS

2 years ago 193

Una delle questioni più annose che da sempre hanno caratterizzato il mondo degli smartphone è il confronto tra dispositivi Android e dispositivi iOS, che poi per il mondo degli smartphone si traduce in un confronto tra smartphone Android e iPhone. Chi è più veloce? Chi è più fluido? Chi ha più RAM?

Oggi ci soffermeremo su una di queste consuete domande, che probabilmente avrete affrontato nel corso degli anni con amici e conoscenti. Ci soffermeremo su quella più oggettiva, ovvero cercheremo di capire perché Android ha bisogno di più RAM rispetto ad iOS. Questo non è un aspetto soggettivo, effettivamente Android come sistema operativo richiede più RAM rispetto a quanto richiesto da iPhone.

Questa considerazione è particolarmente avvalorata dal fatto che i modelli di smartphone Android arrivano sul mercato con un quantitativo di RAM sempre maggiore rispetto agli omologhi iPhone. Andiamo quindi ad analizzare i vari aspetti che richiedono ad Android la necessità di disporre di più RAM, a partire proprio dal capire cos'è la RAM.

Indice

Cos'è la RAM

La Random Access Memory (RAM) è una tipologia di memoria che possiamo trovare su diversi dispositivi elettronici, come gli smartphone appunto. Questo tipo di memoria è volatile, ovvero le informazioni che vi sono memorizzate permangono finché il dispositivo è in esecuzione e acceso. Se il dispositivo viene spento la RAM perde tutte le informazioni salvate.

Questo invece non accade per la tipologia di memoria dello storage interno, sulla quale vengono memorizzate informazioni a lungo termine, le quali permangono anche se si spegne il dispositivo.

Maggiore è il quantitativo di RAM a disposizione del dispositivo e maggiore sarà la sua capacità di memorizzare informazioni provvisorie. Queste informazioni provvisorie sono di fondamentale importanza per l'esecuzione di app e funzionalità. Un dispositivo con RAM limitata difficilmente potrà gestire un gran numero di app aperte in parallelo, senza incontrare difficoltà o impuntamenti.

Gli smartphone Android hanno più RAM degli iPhone

Andiamo poi ad appurare un fatto oggettivo: gli smartphone Android di gamma media e alta hanno un quantitativo di RAM più alto rispetto agli iPhone lanciati nello stesso anno. Il grafico qui sotto mostra come si sia allargata la forbice tra la RAM a disposizione sui modelli Android e quella offerta da iPhone nel corso degli ultimi anni.

Nel lontano 2009 l'iPhone aveva 256 MB di RAM mentre un omologo Android arrivava a 288 MB. Ad oggi, troviamo iPhone 13 Pro Max con 6 GB di RAM mentre Galaxy S22 Ultra arriva addirittura a 16 GB di RAM. Nei paragrafi successivi andiamo quindi a vedere perché questa forbice è così larga.

Perché Android ha bisogno di più RAM di iOS

L'integrazione di un quantitativo maggiore di RAM negli smartphone Android risponde a esigenze di natura tecnica e software. Andiamo a vederle insieme.

Codice di scrittura app per Android e per iOS

Una delle differenze principali per gli sviluppatori che creano app per Android e iOS consiste nel codice con il quale si programma. Per il mondo Android tutto avviene in Java, mentre per iOS tutto avviene in Swift. Questi due codici presentano una fondamentale differenza:

  • Il codice Java prevede la compilazione attraverso la traduzione in un codice intermedio, detto Java Bytecode, indipendente dal processore e quindi dal dispositivo in uso. Pertanto, le app scritte in Java possono funzionare su Android ma anche su qualsiasi altro dispositivo. Il motto di Java infatti è Write once, run anywhere. Questo implica un risvolto positivo per quanto riguarda la compatibilità tra diverse piattaforme, ma ricade sulle performance. L'interpretazione del codice Java nei vari dispositivi richiede la presenza di una Java Virtual Machine (JVM), la quale prevede a sua volta la memorizzazione nella cache di memoria dei blocchi di codice precedentemente interpretati. Questo porta alla richiesta di un rilevante quantitativo di RAM. Rilevante rispetto a cosa? Rispetto a quanto richiesto dalle app per iOS, nel prossimo punto vediamo perché.
  • Il codice Swift viene usato per scrivere le app per dispositivi iOS. Swift ha l'enorme vantaggio di non richiedere alcuna interpretazione, come invece richiede Java. Dunque i prodotti iOS sono eseguibili soltanto su iOS ma non implicano l'uso di una JVM con conseguente memorizzazione in cache di blocchi di codice interpretato.

Vi sono comunque delle eccezioni, come le app Android che non richiedono l'esecuzione del framework Android. Queste possono essere scritte in codice nativo, dunque non in Java e non richiedono un quantitativo di RAM particolarmente più grande rispetto alle omologhe su iOS. App di questo tipo corrispondono essenzialmente a giochi mobile.

Sistema di aggiornamento di stato delle app

Sia Android che iOS prevedono un sistema di aggiornamento di stato delle app in esecuzione. Questo è identificato dai termini push notification e differisce tra i due sistemi operativi.

  • Su Android il sistema di aggiornamento di stato è molto simile a quello presente su PC. Ogni app ha allocato un quantitativo variabile di memoria RAM. Quindi più app sono in esecuzione e minore sarà la RAM a disposizione.
  • Su iOS il sistema di aggiornamento di stato delle app prevede la delocalizzazione delle risorse RAM. In altre parole, Apple non permette alle app di allocarsi un quantitativo di RAM. Pertanto le app dovranno prevedere tale aggiornamento via server.

In base a questi due aspetti principali, possiamo vedere dalla tabella in basso la differenza di quantitativo di RAM richiesto dalle stesse app su Android e iOS. La differenza pende a favore di Android anche del 70% in alcuni casi, mentre mediamente la differenza si attesta attorno al 40%.

La RAM ideale per uno smartphone Android

Andiamo ad analizzare un altro importante aspetto che riguarda la gestione della RAM su Android e iOS, la compressione delle risorse e l'eliminazione delle app in background in caso di sovraccarico.

Android prevede due metodologie per sopperire alla mancanza di RAM in caso di necessità di aprire una nuova app o avviare un nuovo servizio. La prima consiste nella compressione delle pagine di memoria RAM aperte, a partire dai blocchi che non vengono usati da più tempo. Se tale compressione non dovesse essere sufficiente, allora il sistema provvederà a chiudere alcune delle app in esecuzione in background.

La compressione viene quindi prediletta dagli smartphone Android con più RAM, tipicamente da quelli con quantitativi superiori a 8 GB, mentre la chiusura forzata delle app avviene principalmente con i dispositivi con massimo 4 GB di RAM.

E allora avrete intuito la risposta: il quantitativo di RAM ideale, ad oggi, per i dispositivi Android è di almeno 8 GB. I dispositivi con 4 o 6 GB di RAM andranno bene per chi non ha troppe pretese e usa poche app alla volta, senza prendere in considerazione giochi particolarmente pesanti. Per chi invece vuole maggiori prestazioni usando un rilevante quantitativo di app allora è il caso di guardare ai dispositivi con almeno 12 GB di RAM.

La RAM ideale per un iPhone

Analogamente a quanto visto per Android, anche iOS attua la compressione dei blocchi RAM occupati e, all'occorrenza, la chiusura forzata delle app.

Considerando però il gap di risorse richieste tra Android e iOS, si può concludere che per un iPhone la RAM ideale ammonta a 4 GB per coloro che intendono usare il dispositivo con app social, navigazione e poco più. Chi intende invece usarlo con app più spinte, compresi i giochi, allora dovrà pensare almeno a un dispositivo con 6 GB di RAM.

Meglio Android o iPhone?

La domanda delle domande alla quale non possiamo dare una risposta univoca. Ora però avete degli elementi in più per farci sapere la vostra di risposta.

Read Entire Article