imagazin arrow2-left arrow2-right arrow2-top arrow-up arrow-down arrow-left arrow-right cart close dossiers education fb instagram menu notification oander rss rss-footer search service shuffle speech-bubble star store stores tests twitter youtube

A jövő megérkezett!

Az Apple bemutatta az iPhone X-et

Ez a cikk több mint egy éve nem frissült. Kérjük, vedd figyelembe, hogy ennek tükrében a tartalom mára már idejétmúlt lehet.

iPhone memóriakezelés


Az iPhone 6 és az iPhone 6 Plus megjelenésekor többen meglepődve konstatálhatták, hogy 1 GB RAM-ot kapott az Apple új telefonja, míg más, androidos telefonok esetében például szinte kötelezőnek számít a 2 GB. Ennek ellenére az iPhone a piacon nemcsak hogy versenyképes, de vezető modell, és nem csak az elegáns stílusa vagy a külseje miatt.

Azoknak, akik teljesen laikusak a témában leírom, hogy a Random Access Memory (RAM), vagy magyarul közvetlen hozzáférésű memória, egy olyan alkatrésze az okostelefonoknak, aminek az a feladata, hogy tárolja a processzor által végrehajtandó programokat és a feldolgozásra váró adatokat. Az adatok csak addig maradnak meg benne, amíg a hardver feszültség alatt van: kikapcsoláskor a benne tárolt adatok elvesznek. Ez egy olyan alapvető alkatrész, ami nélkül nem lehetne egy okostelefont összerakni.

Forrás: iFixit
Forrás: iFixit

De mi okozza azt, hogy az iPhone-nak elég egy kisebb méretű memória? A probléma megoldását kezdjük a készülék belseje felől. Arról már irtunk a héten, hogy a kétmagos telefon, hogy állja meg a helyét processzor terén. Amit memória terén tudni kell róla, hogy 1 GB LPDDR3 RAM kerül minden legyártott modellbe. Az LPDDR3 szabványú memóriák megjelenéskor a legújabb technológiának számítottak, sőt a csúcskategóriás telefonok még a mai napig jórészt ezzel a szabvánnyal készült chipekkel zakatolnak. Érdekesség, hogy csak az iPad Air 2 kapott az Apple termékek közül 2 GB RAM-ot. Tehát a hardverben ebből a szempontból igazából nincs lényeges technológia eltérés, csak és kizárólag a memória tárolókapacitásában van különbség az iPhone többi versenytársához képest.

iPhone-6-promo-video-A8-chip-001 (1)

Az androidos telefonok gyártói egyébként is nagyon szeretnek a számokkal dobálózni, ami gyakran megy a tényleges használhatóság rovására. Az Apple pedig sokkal inkább törekszik termékeivel a minőséget megtartani és ténylegesen jól működő, egyszerű és stabil rendszereket létrehozni. Gondoljunk csak bele, a műveletek végrehajtásához energiára van szükség. A nagyobb memória tárolókapacitással megnő az elvégezendő műveletek száma, ezáltal növelve az energiaszükségletet és csökkentve a készülékünk üzemidejét. Valószínűleg ezt is megfontolták a tervezők az iPhone 6 tervezésekor és kiszámolták, hogy ahhoz, hogy a telefon szépen, egyenletesen és akadásmentesen működjön elég a kevesebb memória is. Ez pedig csak úgy lehet, ha a szoftvert úgy írják meg, hogy a legelőnyösebben használja ki a készülék hardveres adottságait.

hero_large

Egy átlagos felhasználót ugyanis nem az érdekli, hogy mekkora a memória tárolókapacitása, vagy gyakran nem is tudja mi az. Egy felhasználó számára a készülék által nyújtott élmény a fontos és nem a sokféle bonyolult technikai specifikáció. Akad-e az operációs rendszer vagy nem? Tudunk egyszerre zenét hallgatni és a napi híreket olvasni? Akkor fog kilépni egy alkalmazás, amikor már majdnem teljesen megírta az ember az e-mailt? Vagy biztos lehet benne, hogy nem fagy be a rendszer? Éppen ezért elég, hogy csak az a minimális méretű memória legyen az iPhone-ban ami ténylegesen szükséges és elégséges.

Most persze sokaknak jogosan vetődik fel a kérdés a fejükben, hogy miért van az, hogy az androidos telefonokban több memóriára van szükség, mint egy Apple telefonban? A válasz a kérdésre az operációs rendszerben van. Viszont az operációs rendszerek vizsgálata nagyon összetett dolog, tehát érdemes több oldalról megközelíteni. Kezdjük az alapokkal.

Az Androidra készülő alkalmazások Java alapokat, és maga az Android maga pedig egy módosított Linux kernelt használ a működéshez. Ez azért jó, mert nagyon sokféle platformmal kompatibilis ezáltal, tehát többféle gyártó hardverét is ki tudja szolgálni. Az iOS ezzel szemben – leegyszerűsítve – egy teljesen egyedi rendszerre épül, viszonylag kevés eszközszámmal és minden esetben nagyon hasonló hardverrel. Ha ezt leszögeztük, akkor jöhetnek a fogalmak, kétféle fogalomról beszélhetünk, ha a memóriakezelésről van szó. Az Android esetében egy Garbage Collector (szemétgyűjtő) nevezetű folyamatról, illetve az Apple esetében az Automatic Reference Counting folyamatról. A kettőt nagyon össze se lehet hasonlítani, annyira eltér.

Az előbbi egy olyan folyamat, amit bármelyik alkalmazás meg tud hívni illetve, meghatározott időközönként az Android rendszere is meghívja. Ez egy olyan rendszerszintű folyamat, ami azt figyeli, hogy mi van jelenleg a memóriában, és ha éppen ezt nem használja semmi, akkor eltávolítja onnan. Ezt működés közben úgy a legegyszerűbb elképzelni, hogy egy nagy könyvtárban csengetésre egy hölgy körbejárja az egészet (ugye minél nagyobb annál több idő) és elpakolja a helyére azokat a könyveket, amelyeket már nem olvas egy ember sem. Ez egy hosszú és megterhelő folyamat lehet a hölgynek, úgyhogy nem igazán a leghatékonyabb módszer. Bár az igaz, hogy teljesen szabad memóriánál egy jól működő folyamat lehet, hiszen pár vendég után pakolni még nem olyan megerőltető, de képzeljük el, hogy tele van a könyvtár vendégekkel. Ilyenkor ugyanúgy egy ember pakol és a folyamat nagyon látványosan belassul. Éppen ezért zárják be az androidos telefonnal rendelkezők egyfolytában az alkalmazásokat, és ezért gyorsul fel a memóriahasználat. Összefoglalva tehát, az Androidnak ezért kell rengeteg memória ahhoz, hogy ugyanúgy fusson, mint egy iPhone.

photo

Most nézzük mi  a helyzet egy iPhone esetében. Az ARC egy folytonosan futó feladat, ami a készülékünkkel együtt indul. Éppen ezért már induláskor terheli a memóriát és újabb alkalmazások megnyitása esetén csak minimálisat és csak lineárisan nő a memória megterhelése. Ez azért van, mert az ARC valós időben azt figyeli, hogy a memóriában lévő dolgokat, hány alkalmazás használja. Tehát minden objektumnak van egy számlálója, ami ha nulla lesz, akkor az objektumot a rendszer törli a memóriából. Ahhoz, hogy könnyen érthető legyen az előző könyvtáras példával élnék most is. Az iPhone esetében képzeljük el azt, hogy az összes könyvön van egy számláló, ami azt mutatja meg, hogy éppen hány ember olvassa. Ha ez a számláló nullára csökken, akkor azért az egy könyvért megy el a fenti példában emlegetett hölgy. Éppen ezért, mivel nem kell az egész könyvtárat bejárnia, kevésbé van leterhelve.

iPad-Air-Multitasking

A lényeg pedig itt jön. Nagyon sok Androidos ember a saját tapasztalatai miatt azt hiszi iPhone-on is elérhető gyorsulás azzal, hogy az alkalmazásokat folyton bezárja. Ilyenkor kétféle eset történhet: vagy egy olyan alkalmazást zár be, ami alapból sem használta a memóriát, habár elméletileg meg van nyitva, vagy egy olyan alkalmazást zár be ami használta a háttérben a memóriát és ilyenkor egy nagyon minimálisan tényleg gyorsul a rendszer. Ez a fajta memória kezelés miatt láthatjuk néha, hogy az alkalmazásnak elölről kell betöltenie, hiszen a memóriában már nincs benne az alkalmazás, hiába van ott az AppSwitcherben.

A gondolatmenetemben itt érkeztünk el az utolsó fogalomhoz, ami nem más mint a cache. A szó francia eredetű és érdekesség, hogy egészen egy perccel ezelőttig rosszul ejtettem folyton. Magyarul gyorsítótárnak szokták fordítani. Tulajdonképpen a cache olyan fájlok összessége, amik abban segítenek, hogy egy alkalmazás gyorsan betöltsön azáltal, hogy az adatokat egy gyorsan működő helyről (pl. a műveleti memóriából) tölti be és nem egy lassan működő helyről (pl. egy távoli szerverről). A lényeg, hogy sok olyan iOS-en működő alkalmazás van amik lementik ezeket a cache fájlokat a memóriából a tárolóhelyre az alkalmazásból való kilépéskor. A tárolóhelyen van minden más fájlunk is, például a képek, videók, zenék. Ha ezt nagyon megtöltjük, akkor nem lesz elég helyünk elmenteni ezeket a cache fájlokat és egy igen látványos lassulást észlelhetünk a telefonunkon. A tárolóhely karbantartásáról, hogy ez ne forduljon elő egyébként itt olvashattok többet.

Az iPhone, mint az Apple-termékek általában, bonyolultan és sok munkával lett kitalálva olyannak amilyen, éppen ezért olyan egyszerű a kezelése és jó a teljesítménye. Hiszen nem kevés memória van benne, hanem pont elég.

Forrás: Gyln Williams

Beoplay A2 Active akció
Apple Inc. (AAPL)

Ezt már olvastad?

A Sirinek ez is az egyik baja, hogy mindenki a célközönség. Valószínűleg hatékonyabb lenne, ha először jól működő modulokat hoznának létre egy-egy funkcióra szabva.

Miért nem ismeri anyanyelvünket az Apple virtuális asszisztense? ... - Klikk ide!