Chiudi annunziu

A quantità ideale di RAM chì i telefoni necessitanu per a so multitasking liscia hè un tema assai discutitu. Apple si mette cù una dimensione più chjuca in i so iPhones, chì hè spessu più utilizable cà suluzioni Android. Ùn truverete micca ancu alcun tipu di gestione di memoria RAM in l'iPhone, mentri Android hà a so propria funzione dedicata per questu. 

Sè vo vai, per esempiu, in i telefoni Samsung Galaxy à Settings -> Cura di u dispusitivu, Truverete quì un indicatore RAM cù infurmazione nantu à quantu spaziu hè liberu è quantu hè occupatu. Dopu à cliccà nant'à u menù, pudete vede quantu memoria ogni applicazione piglia, è avete ancu l'opzione di sguassà a memoria quì. A funzione RAM Plus hè ancu situata quì. U so significatu hè chì morderà un certu nùmeru di GB da l'almacenamiento internu, chì hà da aduprà per a memoria virtuale. Pudete imaginà qualcosa cusì in iOS?

I telefoni intelligenti si basanu in RAM. Li serve per almacenà u sistema operatore, per lancià applicazioni è ancu per almacenà alcune di e so dati in a memoria cache è buffer. Cusì, a RAM deve esse urganizata è gestita in tale manera chì l'applicazioni ponu curriri liscia, ancu s'è vo sguassate in u sfondate è apre di novu dopu un pocu tempu.

Swift vs. Java 

Ma quandu principia una nova applicazione, avete bisognu di avè un spaziu liberu in memoria per carica è eseguisce. S'ellu ùn hè micca u casu, u locu deve esse vacante. Per quessa, u sistema terminarà in forza di certi prucessi in esecuzione, cum'è l'applicazioni chì sò digià iniziate. Tuttavia, i dui sistemi, vale à dì Android è iOS, funzionanu in modu diversu cù RAM.

U sistema operatore iOS hè scrittu in Swift, è l'iPhone ùn anu micca bisognu di riciclà a memoria usata da l'applicazioni chjuse torna in u sistema. Questu hè duvuta à a manera chì iOS hè custruitu, perchè Apple hà u cuntrollu tutale di questu postu chì corre solu nantu à i so iPhones. In cuntrastu, Android hè scrittu in Java è hè utilizatu in parechji dispositi, cusì deve esse più universale. Quandu l'applicazione hè terminata, u spaziu chì hà pigliatu hè tornatu à u sistema operatore.

Codice nativu vs. JVM 

Quandu un sviluppatore scrive una app per iOS, a compilanu direttamente in codice chì pò esse esecutatu nantu à u processatore di l'iPhone. Stu codice hè chjamatu codice nativu perchè ùn esige micca interpretazione o ambiente virtuale per eseguisce. Android, invece, hè diversu. Quandu u codice Java hè cumpilatu, hè cunvertitu in u codice intermediu Java Bytecode, chì hè indipendente da u processatore. Si pò dunque eseguisce nantu à i prucessori diffirenti di diversi fabricatori. Questu hà enormi vantaghji per a cumpatibilità cross-platform. 

Di sicuru, ci hè ancu un inconveniente. Ogni sistema operatore è cumminazione di processore necessitanu un ambiente chjamatu Java Virtual Machine (JVM). Ma u codice nativu rende megliu cà u codice eseguitu attraversu a JVM, cusì l'usu di a JVM aumenta solu a quantità di RAM utilizata da l'applicazione. Allora l'applicazioni iOS usanu menu memoria, in media 40%. Hè ancu per quessa chì Apple ùn hà micca bisognu di equipà i so iPhones cù tanta RAM quant'è cù i dispositi Android. 

.