Nem is olyan régen, amikor az Apple piacra dobta az iPhone 6 és 6 Plus modelleket, akkor kiderült, hogy az új telefonokban bizony egyetlen egy gigabájt memória kapott helyet. Pár felhasználó negatívan reagált erre, ugyanis az olcsóbb Android-os készülékekben is már szinte alapfeltételnek számít a két gigabájt. Glyn Williams szakértő most röviden összefoglalta a két rendszer közötti különbséget, és megtudhattuk, hogy miért éri be kevesebbel az iOS.
Mint azt már mindenki tudhatja, hatalmas különbségek vannak a két operációs rendszer között. Az Android több ezer készüléken elérhető, míg az iOS csupán pár eszközön. Ebből is adódik a két rendszer közötti nagy különbség. Ám mégsem emiatt igényel több RAM-ot az Android. Mint megtudhattuk a droidos alkalmazások Java alapon működnek, és úgynevezett szemétgyűjtő algoritmus alkalmaznak. Mi is ez tulajdonképpen?
A garbage collector a biztonságos memóriakezelés egyik módja, ez a folyamat egy alkalmazás bezárása után megkísérli eltávolítani a memóriából a kihasználatlan objektumokat. Ez egészen jól működik, amennyiben kevés program van megnyitva. Ennek a folyamatnak azonban az felhasznált memória többszörösére van szüksége a gyors működéshez, így ha a felhasznált memóriamennyiség nagyra nő, a rendszer jelentősen lelassul.
Az iOS esetén ez nem így működik, hiszen ott a memóriakezelés máshogy van megoldva. Ezért van az, hogy jelenleg az almás alkalmazások fele annyi memóriával is beérik. Ha az Apple dupla annyi RAM-ot pakolt volna az új telefonjaikba, akkor az biztosan tovább gyorsította volna a telefonokat, de jelentősen kihatott volna a készülék üzemidejére.
Röviden és tömören ezek miatt a különbségekből kifolyólag adódnak a sebességbeli különbségek. Emlékeztek még a Samsung Galaxy Note 4 és az iPhone 6 esetére? Papírforma szerint a Samsungnak sokkal jobban kellett volna teljesítenie, de mint kiderült, a valós tesztek ennek ellentmondtak.
Hat igen a programozas nem mind1!
De android csak 1gyorsan megirt valamivolt hogy tudjanak szekbenpisalni
A garbage collection mint szemetes kollekció nagyon tetszik :). Szemét gyűjtőnek azért jobban hangzik :)
En irtam ide egy eleg pontos dolgot, hogy mi a Java Garbage Collector, es az iOS pedig Obj-C-ben van megirva, ezert jobb a ram kezeles az iOS-ben, de moderaltak…
A javaban a GC(szemét gyűjtő) bizonyos időközönként végig szalad a memórián és a nem hivatkozott területeket felszabadítja. Ez azért jó mert nem kell a programozónak erre figyelnie mert magától végzi a “környezet”. Hátránya hogy lassabban szabadulnak fel a memóriaterületek és ezáltal igen nagyobb memóriát igényel mint pl egy C alapú IOS, ugyanis itt a programozó szabadítja fel a memóriaterületet ha már nincsen rá szükségünk és el nem felejti mert ez is előfordulhat. (minden jóban van valami rossz :D ).
A belinkelt teszt szerintem elég csalóka ugyanis össze mérték a 2 telefont hogy az opengl testen hány pontot kapott a 2 telefon. Ez olyan mintha egy bokszolót akarnánk hogy legyőzzön egy úszót az android az java alapú opengl pedig c ezért az android is kénytelen lesz natívan futtani az opengl-t ami annak ellenére hogy jól optimalizált nem éppen az erőssége egy androidnak, de ha egy floating pointos tesztet futtatnánk le a 2 telefonra az új ART környezettel szerintem jelentkeznének a különbségek amiket a papír forma szerint hoznia kéne a a note-nak. Meg ugye azzal se szeretnék kötekedni hogy melyiknek mekkora a felbontása és ez mennyi plusz számítást eredményez. Overall note 4 jobban sikerült véleményem szerint az iphone meg szép.
Dávid, az én véleményem meg az, hogy te tényleg képben vagy! Élvezet volt olvasni a kommentedet! Üdv
Imádom mikor az androidosok megmagyarázzák hogy az sokkal jobb csaaaak……
Elnézést kérek, ha felháborodást okozott a cikk. Több forrásból is utánajártam a dolgoknak, de leginkább a CoM-on megjelentet fordítottam le. Hibákat mindenki követ el, bocsássátok meg, ha nem helyesen fordítottam le a szakszavakat, illetve ha nem teljesen írtam le a működését. Biztos vagyok benne, hogy többen is jártasabbak vagytok az informatika ezen részén, mint én, ezért itt a kommentekben leírhatjátok ti is a tapasztalatitokat/észrevételeiket ezzel kapcsolatosan.
Persze az már nagyobb kérés, hogy moderáljátok magatokat, ugyanis sokak részéről csak a fikázás (illetve egymás felmenőjének az ócsárolása) megy a cikk alatt, ezért ne csodálkozzon senki sem, ha moderálva lesznek az ehhez hasonló kommentjei. Köszönöm!
David: azt meg kell emliteni, hogy iOS eseteben (ObjC), a memoria felszabaditas referencia szamlalo alapjan tortenik. Jo ideje erre van automatikus lehetoseg (ARC) es nem kell a programozonak felszabaditania (persze arra figyelni-e kell, hogy ne legyenek korkoros hivatkozasok; korkoros hivatkozasok lehetnek Java-ban is, de a garbage collector azt figyeli, hogy a gyokertol kezdve mikre van hivatkozas, nem pedig hogy hivatkoznak-e valamire)
Egyebkent a lebegopontos szamok eseteben, jelenleg sebessegben jobb eredmenyeket ertunk el iPhone eseteben (foleg ha szukseg van 64biten abrazolt szamra (double))
OpenGL eseteben hasonlo ereju hardver eseten ugyan azt szamolva/renderelve kozel ugyan azt a sebesseget kapod. Apple eseteben egyebkent nagyon sok minden optimalizalva van ezen a teren es szep eredmenyeket ersz el, ha megfeleloen hasznalod.
A cikkben egyebkent sok pontatlansag/tevhit talalhato