Hvad er virtuel RAM i Android, og bør du være ligeglad
Miscellanea / / March 16, 2022
Undtagen enorme kamera megapixels og displays med høj opdateringshastighed, synes den største trend i smartphone-verdenen at være Virtual RAM. Nogle omtaler det som Dynamic RAM-udvidelse, mens andre kalder det Extended RAM. Uanset hvad det hedder, forbliver ideen den samme. Tillad brugere at bruge en del af deres lager som RAM for at hjælpe med at multitaske.
Vi vil i denne vejledning diskutere, hvordan hukommelsesstyring i Android fungerer, og hvordan ideen om virtuel RAM adskiller sig fra den. Vi vil prøve at overveje, om Virtual RAM overhovedet er påkrævet på Android eller ej. Så lad os komme til det.
Sådan fungerer hukommelsesstyring på Android
Først og fremmest er det vigtigt at forstå, hvordan Android administrerer din hukommelse. Inden for Android er der 3 typer hukommelse. Først er din RAM, så har du zRAM, og til sidst dit lager. RAM er det grundlæggende hukommelsesmodul, som alle apps kører i. Så er der din indbyggede lagerplads, enten UFS eller eMMC på budgetenheder. Endelig har vi zRAM. Grundlæggende er zRAM en partition inde i RAM.
Ideen bag zRAM er, at data med lav prioritet på RAM komprimeres og gemmes inde i zRAM. Fordi RAM er en dag hurtigere end dit normale lager, er det at have komprimerede data inde i zRAM, som er en del af RAM, det vil stadig være hurtigere end at få adgang til det fra dit lager, selvom du tæller komprimerings- og udkomprimeringstider med.
Nu hvor vi har etableret de 3 forskellige typer hukommelse, der er tilgængelige for Android, lad os forstå, hvordan OS håndterer det hele. Så Android gør brug af personsøgningsteknikker. Hvordan det fungerer er, at RAM er opdelt i sider, hvor hver side typisk er på 4KB. Uanset om denne side er gratis eller aktivt brugt, kombineres de for at vise henholdsvis brugt RAM og ubrugt RAM. Derefter er kernens opgave at konvertere brugt hukommelse til ledig hukommelse. Det gør det ved at flytte dataene på de brugte sider til dit lager.
Hvad er personsøgning, og hvordan det virker
For at forstå, hvordan det fungerer, lad os forstå den slags sider. Du kan klassificere sider i to typer – rene og beskidte sider. De rene sider har en uændret kopi gemt på lagerpladsen. I mellemtiden har beskidte sider en ændret kopi af data, der er gemt på lager. Hvad er dette ændret og uændret? Lad os kalde det dynamisk brug af din hukommelse.
Uændrede kopier er statiske data, mens ændrede kopier er dynamiske dataændringer hvert sekund. Android kan rense de rene sider, når det er nødvendigt, da de ikke har dynamisk adgang til ressourcerne. Det hjælper med at frigøre RAM og gøre mere af det tilgængeligt. Det lyder måske lidt for teknisk, så lad os gøre det nemmere at forstå ved hjælp af applikationer fra den virkelige verden.
Antag, at du åbner Twitter, gennemser dit feed og derefter skifter til noget andet. Twitter er der stadig i din RAM. Men hvis du ikke åbner den i et stykke tid, falder dens prioritet. Senere, hvis du lancerer noget nyt, bliver Android nødt til at frigøre den hukommelse, som Twitter bruger. Så det, det gør, er, at det flytter sine værdier og data til lageret og giver dig ledig plads. Dette er grunden til, at når du starter Twitter igen, vil det først vise dig tidslinjen, som det var i dvale på, og derefter opdatere. Det samme er for Facebook, Reddit eller lignende apps som Lommeregner eller Noter. Disse apps bruger rene sider, da en kopi af deres data er statisk gemt inde i dit lager.
Nu, for beskidte sider, overveje Spotify eller en hvilken som helst musikafspiller. Du starter noget musik inde i afspilleren og holder den så kørende i baggrunden uden at åbne appen. Systemet kan dog ikke lukke det, da det dynamisk bruger din hukommelse. Som et resultat komprimerer Android appen og skifter den til zRAM, når der kræves mere ledig RAM.
Hvad er virtuel RAM
Nu hvor du har ved, hvordan Android administrerer hukommelse, må du undre dig over - hvor kommer Virtual RAM-funktionen ind? Kan du huske, hvordan vi sagde, at zRAM også er en del af RAM? Måden Virtual RAM fungerer på er, at den opretter en swap-partition på din lagerplads og bruger den som ekstra zRAM.
Fordi zRAM kun er gemt på din RAM, er der en grænse for antallet af sider, du kan komprimere og gemme i den. Med en swap-partition kan du bruge din lagerplads som ekstra zRAM, til at komprimere og flytte apps, mens du gør plads tilgængelig i din faktiske RAM.
Er denne funktion ny
Så er alt dette nyt? Nå, egentlig ikke. Linux har brugt swap-partitioner siden begyndelsen. Til Android har brugere af brugerdefinerede kerne brugt deres SD-kort til at oprette yderligere swap-partitioner for at forbedre hukommelsesstyringen.
Som sådan giver mærkeproducenter dig bare den samme funktion bagt i deres Android-skind. Men det rejser spørgsmålet - hvis funktionen er så nyttig, hvorfor har den så ikke været en del af Androids kildekode?
Er virtuel RAM god eller dårlig
Svaret ligger i den meget grundlæggende funktion af Virtual RAM selv. Selvom funktionen giver dig mulighed for at køre flere apps på din enhed ved at komprimere dvale-apps og flytte dem til dit lager, gør det mere skade end gavn. Fordi swap-partitioner i det væsentlige gemmer aktive apps, er der en højere følelse af læsning og skrivning involveret.
Dette fungerer fint på traditionel lagring, men flash-hukommelse har et begrænset antal læsninger og skrivninger. Så ved at bruge SWAP eller virtuel RAM, sænker du teknisk din enheds lagrings levetid.
Dette er også fremhævet godt på Androids udviklerside. "På Android bruges lagerplads ikke til swap-plads, som det er på andre Linux-implementeringer, da hyppig skrivning kan forårsage slid på denne hukommelse og forkorte lagringsmediets levetid." Et andet eksempel på dette er i den nye Apple M1 MacBooks. Disse maskiner bruger en swap-partition på Apples SSD'er, som brugerne har klaget ret meget over.
Betyder virtuel RAM noget, og bør du bruge det
I bund og grund afhænger det hele af, hvordan du definerer multitasking. Hvis det jonglerer mellem kun to til tre aktive apps, så hjælper virtuel RAM med det. Men hvis du bliver ved med at skifte mellem 5-6 stærkt aktive apps, vil virtuel RAM ikke gøre noget, fordi det ville blive ved med at skifte apps.
I sin kerne giver den virtuelle RAM-funktion dig mere tilgængelig RAM-plads, så apps kan køre. Det kommer dog på bekostning af din opbevaring. Hvis du har til hensigt at blive ved med at bruge din enhed i mere end to år, regner vi med, at brug af virtuel RAM måske ikke giver meget mening.