Prilikom kupnje pametnog telefona ili gledanja njihove ponude na tržištu vjerojatno ste mogli uočiti neobičnu stavku ako ste analizirali Android pametne telefone i iPhone uređaje. Android pametni telefoni imaju mnogo više RAM-a u svojim specifikacijama od jednog iPhonea.
Zapravo neki telefoni imaju veći broj RAM-a od računala pa nije rijetkost vidjeti da pojedini Android telefoni imaju 12 GB RAM-a (npr. Pixel 6 Pro ili Galaxy S22 Ultra), a najnoviji modeli idu čak i do 16 GB RAM-a.
Pogledamo li novi iPhone 13, vidjet ćemo da ima „samo“ 6 GB RAM-a, dok ostale verzije koje nemaju „pro“ oznaku imaju 4 GB RAM-a. Možda ovo ne bi bilo toliko čudno da isti ti telefoni nemaju identičnu ili bolju izvedbu od Android pametnih telefona. Kako to može biti?
Krenimo najprije od samog pojma RAM. Svima je dobro poznato da je RAM kratica za „random-access memory“ i označava radnu memoriju uređaja, no također treba istaknuti da postoje različite vrste RAM-a. Pametni telefoni koriste jednu od tih vrsta, SDRAM, no njena je osobina da je promjenjiva. Za razliku od flash memorije vašeg pametnog telefona koja je konstantna i na koju se informacije spremaju dugoročno, radna memorija može samo sadržavati informacije dok vam je uređaj uključen.
Čim vaš uređaj ima više RAM-a, veći broj informacija može sadržavati unutar svoje radne memorije. Prilikom otvaranja jedne aplikacije i nakon toga novog sadržaja unutar nje ili neke druge aplikacije, vaš telefon raspoređuje dostupne RAM-e na svaki novi proces. U trenutku kad više nema dostupnih RAM-a vaš uređaj mora odlučiti koje će procese prekinuti kako bi se moglo na njemu neometano raditi. Jednostavnom usporedbom može se zaključiti da će stoga Android pametni telefon s 8 GB RAM-a moći zadržati veći broj aktivnih procesa od onog koji ima 4 GB RAM-a i prebacivanje s aktivnosti na aktivnost bit će brže i fluidnije.
Sada se postavlja pitanje zašto Android pametnim telefonima treba više RAM-a nego na iPhone uređajima?
Izravni i zaokruženi odgovor na takvo se pitanje ne može dati, ali mogu se spomenuti neki faktori koji daju svoj doprinos u tvorbi različitih vrijednosti radne memorije kod dvije vrste uređaja.
Prva i osnovna razlika koja na to utječe je činjenica što su Android pametni telefon i iPhone drukčije građeni i s različitim intenzitetom plasiranja na tržište. Tijekom godine na tržištu dobijemo nekoliko novih iPhone (ili iPad) uređaja i njih pokreće gotovo pa isti hardver. iOS aplikacije mogu se pokrenuti samo na nekoliko homogenih čipsetova i za njih se mogu posebno izrađivati pomoću „lokalnih“ programskih jezika – prvenstveno Swift i Objective-C. Kod kojim su pisane iOS aplikacije unosi se direktno u naredbe koje Appleovi procesori mogu prepoznati i razumjeti bez potrebe bilo kakve pretvorbe.
Kod Android pametnih telefona stvari su nešto drugačije. Android operativni sustav se praktički nalazi na neograničenom broju uređaja s čipsetovima koje izrađuju Qualcomm, Samsung, MediaTek i ostali proizvođači. Zbog činjenice kako bi bilo praktički nemoguće prilagoditi kompatibilnost svih tih čipsetova različitih hardverskih konfiguracija, Android aplikacije pisane su programskim jezicima (Kotlin i Java) koji se mogu pretvoriti na generalnoj razini u poznati jezik za sve uređaje koji se zatim još jednom prevodi u „lokalni“ kod poznat pojedinom čipsetu.
Ovaj poznati i zajednički jezik naziva se još bytecode.
Bytecode nije vezan uz neku određenu konfiguraciju hardvera pa uređaj mora konvertirati taj kod na lokalni kod prije izvršenja. Kada se ovaj proces usporedi s načinom izvršavanja lokalnog koda na iOS uređajima, može se primijetiti da na Android uređajima on zahtijeva dodatne resurse. Drugim riječima, aplikacija koja izgleda jednako i ima iste funkcije na Androidu i na iOS-u više će RAM-a zahtijevati na, primjerice, Pixelu 6 Pro nego na iPhoneu 13.
Uspoređeni operativni sustavi također drugačije upravljaju RAM-ima. Android upravlja memorijom pomoću metode koja se zove „garbage collection“. Ovaj proces periodično izdvaja objekte u radnoj memoriji koji se više ne koriste kako bi se dobile dodatne količine RAM-a.
iOS koristi metodu pod nazivom „automatic reference counting“ (ARC) koja objektima u radnoj memoriji automatski dodjeljuje numeričku vrijednost temeljenu na tome koliko se ostalih objekata referira na njih. Objekti čija je numerička vrijednost prikazana kao nula odmah se uklanjaju iz radne memorije.
„Garbage collection“ metoda periodično uklanja neupotrebljene objekte u radnoj memoriji i takvim postupkom donosi akumulaciju nepotrebnih podataka koji mogu zakrčiti RAM-e. Android i za tu potrebu ima veće vrijednosti RAM-a. „Automatic reference counting“ nema ovaj problem jer pojedinačni neupotrebljeni objekti se automatski uklanjaju čim su identificirani.
Potrebno je još spomenuti kako je Android manje restriktivan prema aplikacijama koje imaju svoje procese u pozadini u odnosu na iOS. Na Android pametnim telefonima zbog toga aplikacije koje se aktivno ne koriste mogu bez problema koristiti RAM-e, dok je na iPhoneima to nešto teže ostvarivo.
Fleksibilnost Androida je jedna od najvećih snaga ovog operativnog sustava, no takva osobina ujedno traži više RAM-a kako bi rad mogao biti efikasan.
Može li se na kraju reći kako je višak RAM-a kod Android pametnih telefona loša stvar?
Android i iOS su dva operativna sustava koja različito funkcioniraju. Android je fleksibilniji od iOS-a u pogledu načina na koji ga developeri koriste te uređaja koji se s njim mogu pokretati. Takva fleksibilnost dolazi s cijenom većih vrijednosti RAM-a za sličnu izvedbu kao i iOS uređaji. iOS uređaji uže su vezani uz svoje lokalne čipsete i sam operativni sustav je mnogo restriktivniji.
Android svakako treba višak RAM-a, no dodatna radna memorija nije nužno loša stvar i ima neke svoje posebne značajke.
Na kraju možemo reći da razlike u RAM-ima nisu presudni faktor za formiranje cijena pametnih telefona. iPhone 13 Pro Max trenutno ima cijenu od oko 11.000 kuna, a Samsung Galaxy A53 nešto više od 3000 kuna. Oba uređaja imaju 6 GB RAM-a pa navedeni primjer jasno pokazuje da se cijene formiraju na temelju drugih komponenti i samog brenda.
Piše: Ervin Mičetić