Lukk annonse

Den ideelle mengden RAM som telefoner trenger for sin jevne multitasking er ganske omdiskutert. Apple klarer seg med en mindre størrelse i sine iPhones, som ofte er mer anvendelig enn Android-løsninger. Du vil heller ikke finne noen form for RAM-minnehåndtering på iPhone, mens Android har sin egen dedikerte funksjon for dette. 

Hvis du går for eksempel i Samsung Galaxy-telefoner til Innstillinger -> Vedlikehold av enheten, finner du en RAM-indikator her med informasjon om hvor mye plass som er ledig og hvor mye som er opptatt. Etter å ha klikket på menyen kan du se hvor mye minne hver applikasjon tar, og du har også muligheten til å tømme minnet her. RAM Plus-funksjonen er også plassert her. Betydningen er at den vil bite av et visst antall GB fra den interne lagringen, som den vil bruke til virtuelt minne. Kan du forestille deg noe slikt på iOS?

Smarttelefoner er avhengige av RAM. Den tjener dem til å lagre operativsystemet, starte applikasjoner og også lagre noen av dataene deres i hurtigbufferen og bufferminnet. Dermed må RAM organiseres og administreres på en slik måte at applikasjoner kan kjøre problemfritt, selv om du slipper dem til bakgrunnen og åpner dem igjen etter en stund.

Swift vs. Java 

Men når du starter et nytt program, må du ha ledig plass i minnet for å laste og kjøre det. Dersom dette ikke er tilfelle, må plassen fraflyttes. Systemet vil derfor med kraft avslutte noen kjørende prosesser, for eksempel applikasjoner som allerede har startet. Imidlertid fungerer begge systemene, det vil si Android og iOS, annerledes med RAM.

iOS-operativsystemet er skrevet i Swift, og iPhone trenger faktisk ikke å resirkulere brukt minne fra lukkede apper tilbake til systemet. Dette skyldes måten iOS er bygget på, fordi Apple har full kontroll over det siden det kun kjører på sine iPhones. Derimot er Android skrevet i Java og brukes på mange enheter, så det må være mer universelt. Når applikasjonen avsluttes, blir plassen den tok tilbake til operativsystemet.

Innebygd kode vs. JVM 

Når en utvikler skriver en iOS-app, kompilerer de den direkte til kode som kan kjøres på iPhones prosessor. Denne koden kalles native kode fordi den ikke krever noen tolkning eller virtuelt miljø for å kjøre. Android, derimot, er annerledes. Når Java-kode kompileres, konverteres den til Java Bytecode-mellomkode, som er prosessoruavhengig. Den kan derfor kjøres på forskjellige prosessorer fra forskjellige produsenter. Dette har store fordeler for kompatibilitet på tvers av plattformer. 

Selvfølgelig er det også en ulempe. Hvert operativsystem og prosessorkombinasjon trenger et miljø kjent som Java Virtual Machine (JVM). Men innfødt kode gir bedre resultater enn kode som kjøres gjennom JVM, så bruk av JVM øker ganske enkelt mengden RAM som brukes av applikasjonen. Så iOS-apper bruker mindre minne, i gjennomsnitt 40 %. Det er også derfor Apple ikke trenger å utstyre sine iPhones med så mye RAM som det gjør med Android-enheter. 

.