Ahogy az Android készülékek kezdenek elmozdulni a 6 GB RAM felé, fel kell tennünk magunknak a kérdést: mennyi RAM-ra van szükségünk valójában? Kövesd a felfedezésünket!
Nemrég kaptunk bejelentést az egyik első Androidot futtató okostelefonról, amely 6 GB RAM-mal érkezik.
6 rohadt GB! Ez sok RAM egy mobileszközben.
A számjáték elindítása az Vivo Xplay5 Elite. Lehet, hogy a Vivo mint cég nem túl ismert Kínán kívül, de a cég – becsületére legyen mondva – már készített néhány nagyon vékony okostelefont a múltban. Az Xplay5 Elite-tel igyekeztek sok specifikációt beilleszteni egy olyan eszközbe, amely a királyok közé kíván állni.
A Vivo Xplay 5 Elite kettős hajlítású, 5,43 hüvelykes QHD Super AMOLED kijelzővel rendelkezik, a test fém keretén. Belül a legújabb Qualcomm Snapdragon 820 SoC 2,15 Ghz órajellel, Adreno 530 GPU, 6 GB LPDDR4 RAM és 128 GB nem bővíthető tárhely található. A fényképezőgép hátulja egy 16 MP-es Sony IMX298 szenzor f/2.0-val, az előlap pedig egy 8 MP-es shooter. Ezeket a specifikációkat és a készülék fémes felépítését szem előtt tartva nem meglepő, hogy még a kínai fogyasztók számára is sokba kerülne. A 4288 CNY (660 dollár) árcédulával ez minden bizonnyal inkább kínai zászlóshajó, mint megfizethető középkategóriás.
A Vivo Xplay5 Elite jelenleg nem az egyetlen okostelefon, amely 6 GB RAM-mal rendelkezik. Egy kevésbé ismert és újonnan alapított kínai OEM-gyártó, a Vernee egy középkategóriás készülék, a Vernee Apollo piacra dobásával igyekszik nagyobb hozzáférést biztosítani a hatalmas mennyiségű RAM-hoz.
A Vernee Apollo a MediaTek csúcsminőségű SoC-jét, a Helio X20-at fogja viselni. Lesz a már említett 6 GB RAM, 128 GB belső tárhely, 21 MP-es Sony IMX230 hátlapi kamera és 5,5 hüvelykes 2K kijelző. Mindezzel együtt az Apollo 399,99 dollárba kerülne. A hozzánk eljuttatott sajtóinformációkban nem volt szó sem kínai árról, sem célpiacokról, így a telefon még mindig eléggé rejtélyes.
Mindkét telefon arra késztet bennünket, hogy tegyük fel a kérdést, nem igazán szükséges ennyi RAM most?
A kérdés megválaszolásához meg kell értenünk, hogyan kezeli az Android a memóriakezelést és a RAM-ot. Mishaal fantasztikus munkát végzett, amikor elmagyarázta az Android memóriakezelésének bonyolultságát egy korábbi cikk, amely hat hónappal később is megőrzi relevanciáját.
"Az Android így kezeli a memóriakezelést: ahelyett, hogy azonnal leállítana minden folyamatot a tevékenység befejezése után (pl amikor megnyomja a kezdőlap gombot az alkalmazásból való kilépéshez), a folyamat addig marad a memóriában, amíg a rendszernek le kell állítania, hogy több memória szabadítson fel. Hogyan dönti el a rendszer, hogy milyen folyamatokat tartson meg és mit öljön meg? Az LMK (Low Memory Killer) illesztőprogram. Minden folyamathoz hozzárendel egy -17 és 15 közötti oom_adj értéket az ActivityManager szolgáltatás, amely dinamikusan módosítja az oom_adj értéket a folyamat fontosságától függően. A magasabb oom_adj értékek azt jelentik, hogy a folyamat nagyobb valószínűséggel leáll a memória felszabadítása érdekében, míg az alacsonyabb értékek azt jelentik, hogy kisebb az esély a folyamat leállítására."
"Az Android az egyes folyamatokat öt kategóriába sorolja (előtérben, látható, szolgáltatásban, háttérben és üresben), amelyek a legfontosabbtól a legkevésbé fontosakig terjednek. Az egyes kategóriákhoz tartozó folyamatok a fennmaradó szabad memória különböző szintjein (úgynevezett LMK minfree érték) leállnak. Például, ha az eszköz LMK minfree értékei „2560,4090,6144,7168,8192”-ra vannak állítva (4k oldalként szerepel, amely a /sys/module/lowmemorykiller/parameters/minfree fájlból olvasható), akkor az eszköz leállítja az „Üresnek” definiált folyamatokat, ha a szabad memória 32 MB alá csökken, a „Háttérben” definiált folyamatokat, ha a szabad memória kevesebb, mint 28 MB, és az előtérben lévő alkalmazásokat, ha a szabad memória kevesebb. 10 MB (isten ments!) Nos, ezek a minfree értékek manapság nem jellemzőek a legtöbb eszközre, mivel a gyártók előszeretettel módosítják ezeket kedvükre, attól függően, hogy úgy érzik, hogy ez a legjobban illik készülékükhöz. Amit azonban érdemes levonni ebből a rövid magyarázatból, az az, hogy minél több szabad memóriával rendelkezik, annál kevésbé valószínű, hogy a kritikus folyamatok megsemmisülnek."
Ahogyan Mishaal megemlíti, a tényleges értékek OEM-ről OEM-re változnak, így eltérő tapasztalatokat szerezhet a hasonló specifikációjú telefonokon végzett többfeladatos használat során. A keverék másik változója az eszközön lévő bloatware mennyisége. Az erősen módosított Android felhasználói felületek, mint például a TouchWiz, általában sok funkciót tartalmaznak az Androidon felül a raktárkészlet alapján Az AOSP, és mint ilyen, sokkal több erőforrást igényel a rendszerhez ahhoz, hogy az OEM által kívánt szinten működjön. azt. Ez kevesebb teret hagy a harmadik féltől származó alkalmazások számára, hogy gyorsítótárba kerüljenek, ami viszont súlyosbítja a memóriahiányt.
Többnyire Puha
"A fő különbség a 2 GB RAM-mal rendelkező eszköz és a 3 GB RAM-mal rendelkező eszköz között az, hogy a 3 GB-os készülék A RAM-nak képesnek kell lennie több folyamat gyorsítótárazására a háttérben anélkül, hogy az LMK-illesztőprogramot elindítaná."
Tehát elméletileg a hardverszinten rendelkezésre álló több RAM azt eredményezi, hogy több folyamat marad gyorsítótárban az operációs rendszer szintjén, és az OEM-nek nagyobb készletet kell használnia. De leggyakrabban még a 2 GB RAM-mal rendelkező eszközökön is sokkal több szabad RAM látható, még azután is, hogy a rendszer és az alkalmazások rögzítik azt, amire szükségük van. Íme ugyanaz a galéria Mishaal bejegyzéséből, amely összehasonlítja az ingyenes RAM-ot különböző eszközökön:
Amint láthatja, a legkönnyebb felhasználói felülettel rendelkező eszközök, például a Nexus 5 és a Nexus 6 rendelkeznek a legnagyobb arányban rendelkezésre álló szabad RAM-mal az eszközön. Még a legnehezebb is, a Samsung Galaxy Note 5 4 GB RAM-mal és TouchWiz rendszerindítással, körülbelül 1,7 GB RAM-mal rendelkezik, amely az alkalmazások gyorsítótárazásához áll rendelkezésre. Még ilyen nagy mennyiségű szabad RAM mellett is a Note 5 többfeladatos problémákkal küzdött, amelyek miatt az eszköz agresszív memóriakezeléshez folyamodott. Ez az OEM LMK-értékek megválasztása miatt volt így: a hardverszintű több RAM bepumpálása nem segít! A Note 5 javítása a többfeladatos munkavégzés javítása érdekében valójában ezeknek az LMK-értékeknek a módosítását jelentette multitasking barátságosabb, mint a Samsung készletbeállításai, ami ironikus egy olyan eszköz esetében, amely erre összpontosít termelékenység. Mint ilyen, a több RAM nem teszi automatikusan multitasking-barátabbá az eszközt.
Visszatérve a galériához, a megjelenített szabad RAM egy részét már az alkalmazásfolyamatok gyorsítótárazására használják, de ennek egy része tétlen marad, és nem csinál semmit. Íme néhány képernyőkép a OnePlus One-omról, amelyek a megjelenített szabad RAM-ot, majd a gyorsítótárazott RAM-ra és a tétlen RAM-ra való felosztást mutatják:
Még abban a kis, kb. 1 másodpercben is, amikor kicseréltem egy aktív játékot, és kiválasztottam a gyorsítótárazott folyamatok megjelenítésének lehetőségét, a rendszer dolgozott a ténylegesen felhasznált RAM csökkentésén. Ez azért történt, mert a játék, ebben az esetben az NFS No Limits prioritása megváltozott, és egy előtérbeli folyamatról egy háttérfolyamatra vált át. Ennek célja az volt, hogy az operációs rendszer mindig zökkenőmentesen működjön, mivel az aktív használatban lévő RAM 2,5 GB-ról 1,9 GB-ra változott, miközben az NFS No Limits játékfolyamat gyorsítótárazásra került. Ahogy a játék prioritása megváltozott, mostantól megölhető, ha az operációs rendszernek több szabad RAM-ra van szüksége. Itt nincs szükség felhasználói beavatkozásra.
Ennek a példának az volt a célja, hogy rávilágítson arra, hogy az Android memóriakezelése hogyan fejlődött hatékonyabbá a rendszer és az összes folyamata prioritásainak meghatározásában. Csak annyi alkalmazás marad a gyorsítótárban bármikor: az operációs rendszer ideális esetben nem használja a teljes szabad RAM-ot a gyorsítótárazási folyamatokban. A szabad RAM egy része tétlen marad. Ez a tervezés olyan esetekre vonatkozik, amikor egy folyamatnak nagyon gyorsan kell növelnie a RAM-használatát.
Létezik egy RAM-kiosztási korlát az alkalmazásfolyamatokhoz is, ahogyan az OEM ismét meghatározza az egyes telefonokra. Egy régi vitabejegyzés Dianne Hackborn, Android Framework Engineer által, korlátozott a Java kupac ahol java objektumok fognak elhelyezkedni a szemétgyűjtés megkezdése előtt, de még ez is bővíthető az NDK okos használatával. Egyszerűen fogalmazva, ez azt jelenti, hogy van egy maximális korlát a RAM-ban, amely minden olyan alkalmazás számára elérhető volt, amely az adott eszközön futni akart. A régebbi eszközök esetében ez a kupac 24 MB-ra volt beállítva, de a legújabb eszközökön a méret megnőtt az eszközökben lévő RAM növekedésének, valamint a megnövekedett hardverigényeknek köszönhetően. Androidos Kompatibilitási definíciós dokumentum számára Android 6.0 megemlíti (3.7. szakasz) azokat a minimális értékeket, amelyeket ezeknek a kupacoknak az OEM-nek be kell állítania. Összehasonlításképpen, a CM12.1-en futó OnePlus One-om 192 MB-os korláttal büszkélkedhet a normál Dalvik virtuálisgép-kupacokhoz, és akár 512 MB-ot is lehetővé tesz olyan alkalmazások számára, amelyek androidot adnak meg: largeHeap=true az alkalmazásjegyzékükben. Elméletileg egyetlen alkalmazás legfeljebb 512 MB RAM-ot tud használni a készülékemen. Ezen túlmenően a többi szükséges rendszerfolyamat szabad áramlása érdekében szemétszállítást is indítanak.
Most kombinálja az alkalmazások kupacméretének korlátját a prioritásuk alapján hozzárendelt LMK-értékekkel Az operációs rendszer ragaszkodik ahhoz, hogy egy bizonyos mennyiségű ingyenes RAM-ot tétlenül tartson, és elképzelhető, hogy az Android többfeladatos művek. Ez egy összetett mechanizmus, amely sok változót foglal magában a hardver, a szoftver és maga az alkalmazás között; finomhangolása, hogy még a legalapvetőbb eszközök is működjenek, miközben a zászlóshajók legjobbjai is abszolút kihasználják a benne rejlő lehetőségeket, elméletileg. Gyakorlatilag ez nem egy tökéletes világ, így egyik sem történik meg. Ez azt jelenti, hogy nincs garancia arra, hogy egy 4 GB RAM-mal rendelkező eszköz ugyanúgy működik, mint egy 4 GB RAM-mal rendelkező készülék. Ez azt sem jelenti, hogy egy bizonyos küszöbön túli plusz GB RAM egyenesen arányosan növeli a többfeladatos munkavégzést és a memóriakezelést.
A gyakorlat és a jövő
Tehát visszatérve az eredeti kérdéshez, valóban szüksége van 6 GB RAM-ra a készülékeiben 2016 elején? Számomra a válasz nem.
Az általam használt eszközök többsége 3 GB LPDDR3 RAM-mal rendelkezik, az egyikben pedig 4 GB RAM. És egyszerűen nincs észrevehető különbség a teljesítményben, ha multitaskingról van szó. Íme egy többfeladatos demó a legutóbbi OnePlus X áttekintésemből, egy eszköz 3 GB RAM-mal és egy közeli Android ROM-mal:
Az eszköznek nem volt problémája a 12 alkalmazás közötti váltáskor (13, ha az aktív képernyőrögzítőt számolja), anélkül, hogy meg kellett volna semmisítenie ezeket az alkalmazásokat. Nem volt újratöltés és újrarajzolás, és ez az élmény meglepően konzisztens marad a napi használat során, minden újraindítás vagy manuális alkalmazásmegölés nélkül. Egy átlagos fogyasztónak egyszerűen nincs szüksége arra, hogy a gyakorlati használat során aktívan váltson e sok alkalmazás között!
De mi van akkor, ha a felhasználó váltani szeretne e sok játék között? Egyetértünk, a fent említett tényezők szerepet játszanak, hogy a legjobb esetben is csak néhány játék között váltsanak. Ilyen körülmények között a több fizikai RAM lehetővé tenné, hogy az eszköz több játékot tároljon passzívan a memóriában. De ennek az előnynek az ellenpontja, hogy sok játék gyakran újratölti magát a multitasking során! Céljuk, hogy elkerüljék a csalási mechanizmusokat a játék adatainak manipulálásából a játék futása közben, így az újratöltés/újraszinkronizálás/frissítés az integritás-ellenőrzések ismételt működését kényszeríti ki. Más a szándékuk, de ez sok játékot szegényes jelöltté tesz a többfeladatos feladatok között.
Vannak még további tényezők, amelyek megakadályozzák, hogy kihasználja a csodálatos RAM előnyeit. Ha talál olyan feladatot/több feladatot kombinálva, amelyhez az eszköz mind a 6 GB LPDDR4 RAM-jára van szükség, akkor sokkal nagyobb szűk keresztmetszetet kaphat a mobil SoC formájában. Igaz, a Snapdragon 820 és a Helio X20 lehet a megfelelő cégük zászlóshajója, de továbbra is mobil SoC-k. Mint ilyenek, más korlátozásokkal is rendelkeznek, mint például a hőtermelés, a hőelvezetés, a hőszabályozás és az akkumulátor ami miatt rosszul választanak olyan feladatokat, amelyek elég intenzívek ahhoz, hogy hosszú ideig annyi RAM-ot használjanak idő. Ilyen esetekben jobban jársz, ha olyan rendszert használsz, amelyet nem arra való, hogy a kezedben tartsd; amely liberálisabb határokat szab az általa termelt hőnek és az elfogyasztott áramnak.
A nap végén, függetlenül attól, hogy mennyi szabad RAM-ja van, az alkalmazások továbbra is ki lesznek rúgva. Pontosan így működik a memóriakezelés. Továbbra is vannak előnyei a RAM bővítésének, például a kupac méretének további növelése segít ebben bittérképes eszközök táplálása nagyobb felbontású kijelzőkön, ami lehetővé teszi, hogy túllépjünk a QHD felbontáson az eszközeinken. A megnövekedett kupacméret, mint trend az egész piacon, olyan alkalmazásokhoz vezet, amelyek képesek többre törekedni. Hacsak a RAM nincs lezárva, mint érinthetetlen, mindig lesz valami haszna. De figyelembe véve, hogy a képernyők látszólag 1080p és 1440p között mozognak a zászlóshajókon, a 4 GB-ot még egy-két évig ésszerű szabványnak tekinthetjük.
Végezetül választ kapunk arra a kérdésre: vajon igazán szükséges ennyi RAM most? Nem, mi nem. Azoknál az eszközöknél, amelyeknél az alacsonyan tartás egyik tényezője az ár, 3 GB vagy 4 GB RAM elég jól szolgálná őket. Az árakkal nem annyira törődő felhasználók keresletével rendelkező zászlóshajók esetében nem ártana a jövőben is. Ügyfélként vegye figyelembe, hogy még nem fogja használni az összes RAM-ot.
Mi a véleményed a 6 GB RAM-mal rendelkező telefonokról? Ossza meg velünk gondolatait az alábbi megjegyzésekben!