Što je virtualni RAM u Androidu i treba li vas zanimati
Miscelanea / / March 16, 2022
Osim veliki megapikseli kamere i zasloni s velikom brzinom osvježavanja, čini se da je najveći trend u svijetu pametnih telefona Virtualna RAM memorija. Neki ga nazivaju dinamičkim proširenjem RAM-a, dok ga drugi nazivaju proširenim RAM-om. Bez obzira kako se zove, ideja ostaje ista. Omogućite korisnicima da koriste dio svoje pohrane kao RAM za više zadataka.
![](/f/916d140fd5d0f900d5417754472e0335.jpg)
U ovom vodiču ćemo raspravljati o tome kako funkcionira upravljanje memorijom u Androidu i kako se ideja virtualne RAM-a razlikuje od nje. Pokušat ćemo razmisliti je li virtualni RAM uopće potreban na Androidu ili ne. Pa prijeđimo na to.
Kako funkcionira upravljanje memorijom na Androidu
Prije svega, važno je razumjeti kako Android upravlja vašom memorijom. Unutar Androida postoje 3 vrste memorije. Prvo je vaš RAM, zatim imate zRAM i na kraju vaša pohrana. RAM je osnovni memorijski modul unutar kojeg se pokreću sve aplikacije. Zatim tu je vaša ugrađena pohrana, UFS ili eMMC na proračunskim uređajima. Konačno, imamo zRAM. U suštini, zRAM je particija unutar RAM-a.
Ideja iza zRAM-a je da se podaci niskog prioriteta u RAM-u komprimiraju i pohranjuju unutar zRAM-a. Budući da je RAM svaki dan brži od vaše uobičajene pohrane, komprimirani podaci unutar zRAM-a, koji je dio RAM-a, je i dalje će biti brži od pristupanja izvan vaše pohrane, čak i ako računate vrijeme komprimiranja i dekomprimiranja.
![](/f/47c668d1ba870b9177852045ffe6b9b4.png)
Sada kada smo uspostavili 3 različite vrste memorije dostupne za Android, shvatimo kako OS sve to rješava. Dakle, Android koristi tehnike stranica. Funkcionira to da je RAM podijeljen na stranice, pri čemu svaka stranica obično ima 4 KB. Bez obzira na to je li ta stranica besplatna ili aktivno korištena, kombiniraju se kako bi prikazali korišteni RAM i neiskorišteni RAM. Zatim, zadatak kernela je pretvoriti iskorištenu memoriju u slobodnu memoriju. To čini premještanjem podataka na tim korištenim stranicama u vašu pohranu.
Što je stranica i kako funkcionira
Da bismo razumjeli kako to funkcionira, razumijemo vrste stranica. Stranice možete podijeliti u dvije vrste – čiste i prljave stranice. Čiste stranice imaju nepromijenjenu kopiju spremljenu u prostor za pohranu. U međuvremenu, prljave stranice imaju modificiranu kopiju podataka pohranjenu u pohrani. Što je to modificirano i neizmijenjeno? Nazovimo to dinamičkom upotrebom vašeg pamćenja.
Nepromijenjene kopije su statični podaci, dok su modificirane kopije dinamičke promjene podataka svake sekunde. Android može očistiti čiste stranice po potrebi jer ne pristupaju dinamički resursima. To pomaže osloboditi RAM i učiniti ga dostupnijim. To bi moglo zvučati malo previše tehničko, pa neka bude jednostavnije za razumijevanje korištenjem aplikacija iz stvarnog svijeta.
![](/f/16f58a8037a3d1082f73cba81964e750.png)
Pretpostavimo da otvorite Twitter, pregledate svoj feed, a zatim se prebacite na nešto drugo. Twitter je još uvijek tu u vašoj RAM memoriji. Ali ako ga neko vrijeme ne otvorite, prioritet mu se smanjuje. Kasnije, ako pokrenete nešto novo, Android će morati osloboditi memoriju koju Twitter koristi. Dakle, ono što radi je da prebacuje svoje vrijednosti i podatke u pohranu i daje vam slobodan prostor. Zato će vam, kada ponovno pokrenete Twitter, najprije pokazati vremensku traku na kojoj je bio hiberniran, a zatim će se osvježiti. Isto vrijedi i za Facebook, Reddit ili slične aplikacije kao što su Kalkulator ili Bilješke. Ove aplikacije koriste čiste stranice jer se kopija njihovih podataka statički sprema u vašu pohranu.
![](/f/577b8339e6679010d717056b5ed7fbb6.png)
Sada, za prljave stranice, razmislite o Spotifyju ili bilo kojem glazbenom playeru. Pokrećete glazbu unutar playera, a zatim je nastavljate raditi u pozadini bez otvaranja aplikacije. Međutim, sustav ga ne može zatvoriti jer dinamički koristi vašu memoriju. Kao rezultat toga, Android komprimira aplikaciju i prebacuje je na zRAM kada je potrebno više slobodnog RAM-a.
Što je virtualni RAM
Sada kada znate kako Android upravlja memorijom, morate se zapitati – gdje dolazi značajka Virtual RAM? Sjećate li se kako smo rekli da je zRAM također dio RAM-a? Način na koji virtualni RAM radi je da stvara zamjensku particiju na vašem prostoru za pohranu i koristi je kao dodatni zRAM.
![](/f/239f2b6903b57b29dca1bc02631ba50b.png)
Budući da je zRAM pohranjen samo na vašem RAM-u, postoji ograničenje broja stranica koje možete komprimirati i pohraniti u njega. Uz zamjensku particiju, svoj prostor za pohranu možete koristiti kao dodatni zRAM za komprimiranje i pomicanje aplikacija, dok prostor činite dostupnim u stvarnom RAM-u.
Je li ova značajka nova
Dakle, je li sve ovo novo? Pa ne baš. Linux od početka koristi swap particije. Za Android, prilagođeni korisnici kernela koriste svoje SD kartice za stvaranje dodatnih swap particija kako bi poboljšali upravljanje memorijom.
Kao takvi, proizvođači robnih marki samo vam daju istu značajku koja je ugrađena u njihove Android skinove. Međutim, postavlja se pitanje - ako je značajka toliko korisna, zašto nije bila dio Androidovog izvornog koda?
Je li virtualni RAM dobar ili loš
Odgovor leži u samom osnovnom radu samog Virtualnog RAM-a. Iako vam ova značajka omogućuje pokretanje više aplikacija na svom uređaju komprimiranjem hiberniranih aplikacija i premještanjem u pohranu, čini više štete nego koristi. Budući da swap particije u osnovi pohranjuju aktivne aplikacije, tu je uključen veći osjećaj za čitanje i pisanje.
Ovo dobro funkcionira na tradicionalnoj pohrani, ali flash memorija ima ograničen broj čitanja i pisanja. Dakle, korištenjem SWAP ili virtualne RAM memorije tehnički smanjujete životni vijek svog uređaja za pohranu.
Ovo je također dobro istaknuto Stranica za razvojne programere Androida. “Na Androidu se pohrana ne koristi za swap prostor kao u drugim implementacijama Linuxa jer često pisanje može uzrokovati trošenje ove memorije i skratiti vijek trajanja medija za pohranu." Još jedan primjer toga je u novom Appleu M1 MacBook računala. Ti strojevi koriste swap particiju na Appleovim SSD-ovima, zbog čega su se korisnici dosta žalili.
Je li virtualni RAM važan i trebate li ga koristiti
U biti, sve ovisi o tome kako definirate multitasking. Ako žonglira između samo dvije do tri aktivne aplikacije, virtualna RAM memorija svakako pomaže u tome. Ali ako nastavite mijenjati između 5-6 jako aktivnih aplikacija, virtualni RAM neće učiniti ništa jer bi nastavio mijenjati aplikacije.
U svojoj srži, značajka virtualnog RAM-a omogućuje vam više RAM-a dostupnog za pokretanje aplikacija. Međutim, to dolazi na cijenu vašeg prostora za pohranu. Ako namjeravate nastaviti koristiti svoj uređaj dulje od dvije godine, smatramo da korištenje virtualnog RAM-a možda nema puno smisla.