Vad är virtuellt RAM-minne i Android och bör du bry dig
Miscellanea / / March 16, 2022
Förutom enorma kameramegapixlar och hög uppdateringsfrekvens visas, verkar den största trenden i smartphonevärlden vara virtuellt RAM. Vissa hänvisar till det som Dynamic RAM-expansion, medan andra kallar det Extended RAM. Oavsett vad det heter förblir idén densamma. Tillåt användare att använda en del av sin lagring som RAM-minne för att hjälpa till att göra flera saker.
Vi kommer att diskutera i den här guiden hur minneshantering i Android fungerar och hur idén om virtuellt RAM skiljer sig från det. Vi kommer att försöka fundera på om virtuellt RAM-minne ens krävs på Android eller inte. Så låt oss komma till det.
Hur minneshantering fungerar på Android
Först och främst är det viktigt att förstå hur Android hanterar ditt minne. Inom Android finns det 3 typer av minne. Först är ditt RAM-minne, sedan har du zRAM och slutligen ditt lagringsutrymme. RAM är den grundläggande minnesmodulen i vilken alla appar körs. Sedan finns det din inbyggda lagring, antingen UFS eller eMMC på budgetenheter. Äntligen har vi zRAM. I huvudsak är zRAM en partition inuti RAM.
Tanken bakom zRAM är att lågprioriterad data på RAM komprimeras och lagras inuti zRAM. Eftersom RAM är vilken dag som helst snabbare än din vanliga lagring, är det att ha komprimerad data inuti zRAM, som är en del av RAM, kommer fortfarande att vara snabbare än att komma åt det från ditt lagringsutrymme, även om du räknar komprimerings- och uppackningstiderna.
Nu när vi har etablerat de tre olika typerna av minne som är tillgängliga för Android, låt oss förstå hur operativsystemet hanterar allt. Så Android använder sig av personsökningstekniker. Hur det fungerar är att RAM-minnet är uppdelat i sidor, där varje sida vanligtvis är 4KB. Oavsett om sidan är gratis eller aktivt används, kombineras de för att visa använt RAM-minne respektive oanvänt RAM-minne. Sedan är kärnans uppgift att konvertera använt minne till ledigt minne. Det gör det genom att flytta data på de använda sidorna till din lagring.
Vad är personsökning och hur det fungerar
För att förstå hur det fungerar, låt oss förstå vilka typer av sidor. Du kan klassificera sidor i två typer – rena och smutsiga sidor. De rena sidorna har en omodifierad kopia sparad i lagringsutrymmet. Under tiden har smutsiga sidor en modifierad kopia av data som lagras i lagring. Nu, vad är detta modifierat och oförändrat? Låt oss kalla det dynamisk användning av ditt minne.
Omodifierade kopior är statiska data, medan modifierade kopior är dynamiska dataändringar varje sekund. Android kan rensa de rena sidorna vid behov eftersom de inte dynamiskt kommer åt resurserna. Det hjälper till att frigöra RAM-minnet och göra mer av det tillgängligt. Det kanske låter lite för tekniskt, så låt oss göra det enklare att förstå med verkliga applikationer.
Anta att du öppnar Twitter, bläddrar igenom ditt flöde och sedan byter till något annat. Twitter finns fortfarande kvar i ditt RAM-minne. Men om du inte öppnar den på ett tag, minskar dess prioritet. Senare, om du lanserar något nytt, måste Android frigöra minnet som Twitter använder. Så vad den gör är att den flyttar sina värden och data till lagringen och ger dig ledigt utrymme. Det är därför som när du startar Twitter igen, kommer det först att visa dig tidslinjen som den låg i viloläge och sedan uppdatera. Detsamma gäller Facebook, Reddit eller liknande appar som Kalkylator eller Notes. Dessa appar använder rena sidor eftersom en kopia av deras data sparas statiskt i din lagring.
Nu, för smutsiga sidor, överväg Spotify eller någon musikspelare. Du startar lite musik inuti spelaren och håller den sedan igång i bakgrunden utan att öppna appen. Systemet kan dock inte stänga det eftersom det dynamiskt använder ditt minne. Som ett resultat komprimerar Android appen och flyttar den till zRAM när mer ledigt RAM krävs.
Vad är virtuellt RAM
Nu när du vet hur Android hanterar minne måste du undra – var kommer den virtuella RAM-funktionen in? Kommer du ihåg hur vi sa att zRAM också är en del av RAM? Sättet Virtual RAM fungerar på är att det skapar en swap-partition på ditt lagringsutrymme och använder det som extra zRAM.
Eftersom zRAM endast lagras på ditt RAM-minne finns det en gräns för antalet sidor du kan komprimera och lagra i det. Med en swap-partition kan du använda ditt lagringsutrymme som extra zRAM, för att komprimera och flytta appar, samtidigt som du gör utrymme tillgängligt i ditt faktiska RAM-minne.
Är denna funktion ny
Så, är allt detta nytt? Tja, inte riktigt. Linux har använt swap-partitioner sedan starten. För Android har anpassade kärnanvändare använt sina SD-kort för att skapa ytterligare växlingspartitioner för att förbättra minneshanteringen.
Som sådan ger varumärkestillverkare dig bara samma funktion bakad inuti deras Android-skal. Men det väcker frågan - om funktionen är så användbar, varför har den inte varit en del av Androids källkod?
Är virtuellt RAM bra eller dåligt
Svaret ligger i själva virtuella RAM-minnet. Även om funktionen låter dig köra fler appar på din enhet genom att komprimera vilolägesappar och flytta dem till din lagring, gör den mer skada än nytta. Eftersom swap-partitioner i huvudsak lagrar aktiva appar, finns det en högre känsla av att läsa och skriva.
Detta fungerar bra på traditionell lagring, men flashminnet har ett begränsat antal läsningar och skrivningar. Så genom att använda SWAP eller Virtual RAM minskar du tekniskt din enhets lagrings livslängd.
Detta är också väl belyst Androids utvecklarsida. "På Android används inte lagring för att byta utrymme som det är på andra Linux-implementeringar eftersom ofta skrivande kan orsaka slitage på detta minne och förkorta lagringsmediets livslängd." Ett annat exempel på detta är i nya Apple M1 MacBooks. Dessa maskiner använder en swap-partition på Apples SSD: er, för vilka användare har klagat ganska mycket.
Spelar virtuellt RAM någon roll och bör du använda det
I huvudsak beror allt på hur du definierar multitasking. Om den jonglerar mellan bara två till tre aktiva appar, så hjälper virtuellt RAM verkligen till det. Men om du fortsätter att växla mellan 5-6 kraftigt aktiva appar, kommer virtuellt RAM inte att göra någonting eftersom det skulle fortsätta att flytta apparna.
I sin kärna tillåter den virtuella RAM-funktionen dig mer RAM-utrymme tillgängligt för appar att köra. Det kommer dock på bekostnad av din lagring. Om du har för avsikt att fortsätta använda din enhet i mer än två år, anser vi att det kanske inte är så meningsfullt att använda virtuellt RAM.