Ako pogledamo na specifikacije najnovijih ”i” uređaja sa specifikacijama najnovijih Androidovih flagshipova ono što će nam prvo upasti u oči jest to da iPhone uređaji imaju manje RAM memorije.
Kao rezultat ovoga neki korisnici su došli do zaključka kako iOS troši puno manje resursa nego Android i da iz tog razloga iOS uređaji dolaze sa manje radne memorije. No je li to zaista tako? Saznajte u nastavku.
Radna memorija
Prva važna stvar o kojoj se ovdje treba nešto reći jest radna memorija koju uređaj ‘troši’ pri radu (ili skraćeno RAM memorija). RAM memoriju treba razlikovati od memorije za pohranu koja se još naziva i internom ili ‘flash’ memorijom. Dolje ćemo navesti neke od uređaja i njihovu potrošnju radne memorije.
2016. – iPhone 7: 2GB, iPhone 7 Plus: 3GB.
– Samsung Galaxy S7/S7 Edge: 4GB.
– LG G5 i V20: 4GB.
2015. – iPhone 6S: 2GB, iPhone 6S Plus: 2GB.
– Samsung Galaxy S6 & S6 Edge: 3GB.
– LG G4 & LG V10: 3GB.
– Nexus 5X: 2 GB, Nexus 6P: 3GB
Prema ovome se jasno može vidjeti kako iPhone dolazi sa manje radne memorije u odnosu na svoju Android konkurenciju. Jedina razlika bi bila u Nexus 5X uređaju koji je na tržište izašao sa 2 GB radne memorije u isto vrijeme kada je na tržište izašao i iPhone 6S koji je imao istu količinu radne memorije.
O čemu se točno radi?
Popularno mišljenje koje vlada među korisnicima jest da iPhone pruža isto ili čak bolje iskustvo pri radu dok u isto vrijeme koristi ili istu količinu ili čak manje radne memorije. Ako pokušate potražiti na internetu mogući odgovor na ovu enogmu ono što ćete najčešće pronaći su tvrdnje kako najveći problem leži u Javi i da zbog Java-e Android treba više radne memorije.
No u stvarnosti – Java ima ili jako malo veze s ovime ili uopće i nema veze s time zašto Android uređaji dolaze sa više RAM-a od iOS uređaja.
Što znači ”slobodna radna memorija”?
Upravljanje radnom memorijom na modernim računalnim uređajima, kao što su stolna ili prijenosna računala te tableti i pametni telefoni uključuje čitav niz kompleksnih zadataka.
U prošlosti je situacija bila jednostavnija: računalo je imalo jedan dio radne memorije koja je bila podijeljena na operativni sustav te na upravljanje pokrenutim programima. No, puno toga se promijenilo nastankom VM-a ili ”virtualne memorije”. Iako to nije tema ovoga članka, ono što treba reći jest da VM u osnovi omogućuje svakom programu (ili aplikaciji) da rade u vlastitom virtualnom prostoru.
To opet znači da Android i iOS uređaji rade na drugačiji način nego što je to slučaj na računalima i to iz razloga što je radna memorija na Android i iOS uređajima ‘podijeljena’ na sekcije (ili stranice) od kojih je određen broj stranica dan na korištenje svakoj od aplikacija.
Sva količina radne memorije koja ostane neiskorištena smatra se slobodnom radnom memorijom. No, problem nastaje u tome što se ova ‘slobodna’ količina radne memorije teško može kontrolirati i dalje koristiti.
Na svakom dobrom operativnom sustavu (pogotovo na novijim Androidima i iOS-ima) teško da će i postojati slobodna radna memorija, no ono što će postojati jest nešto što se zove ”dostupna količina radne memorije”; radi se o RAM-ima koji, iako se trenutno ne koriste, mogu se koristiti ako operativni sustav pokaže potrebu za time.
Moderni Android i iOS operativni sustavi imaju mnoštvo sustava i pod-aplikacija koje koriste ovu dostupnu količinu radne memorije, tako da količina slobodne radne memorije ustvari nije ili ju je teško moguće izmjeriti.
I na kraju krajeva – troši li Android više resursa od iOS-a? Nakon vraćanja na tvorničke postavke iPhonea 7 i Nexusa 5X, iOS uređaji su imali 730 MB dostupne količine radne memorije dok su Android uređaji imali 840. Ovo u prijevodu znači da Android koristi oko 100 megabajta radne memorije manje od iOS-a.
Stvarna veličina programa
Kao što slobodni RAM-i nisu isto što i količina dostupnih RAM-a, isto tako postoji razlika između virtualne i stvarne veličine programa. Da bismo pokazali na praktičnom primjeru da Androidove aplikacije troše više memorije od iOS aplikacija, pogledajmo na sliku ispod. Na njoj se nalazi usporedba potrošnje RAM-a nakon instalacije nekih igara i aplikacija za produktivnost. Pogledajmo rezultate.
Iz ovoga možemo vidjeti da se radi o miješanim rezultatima i da ima svega i svačega. Crossy Road aplikacija na Androidu troši 383 MB dok na iOS-u troši 308 MB, dok Temple Run 2 na Androidu troši 211 MB, a na iOS-u 364 MB. Sve u svemu, Android aplikacije troše oko 6% više memorije nego iOS aplikacije, dok su opet iOS aplikacije upola manje od Android aplikacija.
iOS ima isti način i metodu ‘gašenja’ aplikacija kao i Android, no prema nekim izračunima i mjerenjima iOs ima nešto što Android- nema: radi se o posebnom načinu gašenja aplikacija i to na nači smanjivanja postavljene aplikacije bez da se uopće aplikacija mora ugasiti.
Na primjer, Crossy Road troši oko 308 MB RAM-a odmah nakon što se upali. Ali nakon što se Crossy Road makne u pozadinu (ili popularno- minimizira) iOS smanjuje korištenje radne memorije potrebne za tu aplikaciju na manje od 10 megabajta.
Aplikacija nije bila ugašena; klikom na minimiziranu aplikaciju ona se odmah ‘vraća’, odnosno ona je cijelo vrijeme tu. Kako iOS ovo radi – nije poznato i to iz razloga što Apple nema baš običaj puštati u javnost informacije o tome kako radi njihov iOS te što se to sve događa ‘unutra’.
Puno bolji management operativnog sustava na iOS-u
Bilo kako bilo, ovo znači da iOS ne koristi ništa manje memorije od Androida niti da Android koristi ništa posebno više memorije za rad od iOS-a. Ovo jednostavno znači da je shema rada prema kojoj sam iOS upravlja aplikacijama puno bolja od Androidove.
Dok aplikacije koje su minimizirane na Androidu jednostavno ostanu u pozadini i troše istu količinu radne memorije, iOS-ove miminizirane aplikacije nekim ‘čudom’ troše puno manje memorije, čime daju dojam kao da su isključene – iako nisu. Eh, Apple…
Koja su vaša mišljenja i kakva su vaša dosadašnja iskustva u vezi iskoristivosti radne memorije kod ova dva operativna sustava? Android ili iOS?
Piše: I.H.