Stäng annons

Den idealiska mängden RAM som telefoner behöver för sin smidiga multitasking är ett ganska omdiskuterat ämne. Apple klarar sig med en mindre storlek i sina iPhones, som ofta är mer användbar än Android-lösningar. Du kommer inte heller att hitta någon form av RAM-minneshantering på iPhone, medan Android har en egen dedikerad funktion för detta. 

Om du går till exempel i Samsung Galaxy-telefoner till justering -> Enhetsvård, hittar du en RAM-indikator här med information om hur mycket utrymme som är ledigt och hur mycket som är upptaget. Efter att ha klickat på menyn kan du se hur mycket minne varje applikation tar, och du har även möjlighet att rensa minnet här. RAM Plus-funktionen finns också här. Dess innebörd är att den kommer att bita av ett visst antal GB från den interna lagringen, som den kommer att använda för virtuellt minne. Kan du föreställa dig något liknande på iOS?

Smartphones är beroende av RAM. Det tjänar dem till att lagra operativsystemet, för att starta applikationer och även för att lagra en del av deras data i cachen och buffertminnet. Således måste RAM-minne organiseras och hanteras på ett sådant sätt att applikationer kan köras smidigt, även om du släpper dem i bakgrunden och öppnar dem igen efter ett tag.

Swift vs. Java 

Men när du startar ett nytt program måste du ha ledigt utrymme i minnet för att ladda och köra det. Om så inte är fallet ska platsen utrymmas. Systemet kommer därför att tvångsavbryta vissa pågående processer, till exempel applikationer som redan har startat. Men båda systemen, det vill säga Android och iOS, fungerar olika med RAM.

iOS-operativsystemet är skrivet i Swift, och iPhones behöver faktiskt inte återvinna använt minne från stängda appar tillbaka till systemet. Detta beror på hur iOS är byggt, eftersom Apple har full kontroll över det eftersom det bara körs på sina iPhones. Däremot är Android skrivet i Java och används på många enheter, så det måste vara mer universellt. När programmet avslutas återförs utrymmet det tog till operativsystemet.

Inbyggd kod vs. JVM 

När en utvecklare skriver en iOS-app kompilerar de den direkt till kod som kan köras på iPhones processor. Denna kod kallas inbyggd kod eftersom den inte kräver någon tolkning eller virtuell miljö för att köras. Android, å andra sidan, är annorlunda. När Java-kod kompileras omvandlas den till Java Bytecode-mellankod, som är processoroberoende. Den kan därför köras på olika processorer från olika tillverkare. Detta har stora fördelar för plattformsoberoende kompatibilitet. 

Naturligtvis finns det också en baksida. Varje kombination av operativsystem och processor behöver en miljö som kallas Java Virtual Machine (JVM). Men inbyggd kod presterar bättre än kod som körs genom JVM, så att använda JVM ökar helt enkelt mängden RAM som används av applikationen. Så iOS-appar använder mindre minne, i genomsnitt 40 %. Det är också därför Apple inte behöver utrusta sina iPhones med lika mycket RAM som det gör med Android-enheter. 

.