Keresés

Hirdetés

Új hozzászólás Aktív témák

  • prolad

    őstag

    válasz no1r #9 üzenetére

    Nem úgy volt, hogy a Dalvikot Andorid 5/L-nél kivezették? Onnantól kezdtek el tényleg gyorsak éa fluidak lenni a telefonok még egy IOS/Windows Phone rendszerű telefon mellett is.
    A RAM kérdést meg komplikálja, hogy hiába raknak bele sok giga RAM-ot, ha a gyártó nem engedi ezt mind kihasználni és a szoftver X idő után szép lassan kilövi az appokat. Hiába van nálam is 12 GB RAM, 6.5 felett nem láttam még egyszer sem a használatot. Mondjuk annyi haszna lett a dolognak, hogy 50 ezer alatr is kapsz 4GB RAMos telefont, ami elég majdnem mindenre.

  • thiclyoon

    aktív tag

    válasz no1r #9 üzenetére

    Ahogy írod, pontosan!

    Emiatt teszteltem le nem olyan régen, hogy mennyit foglal egy háttérben “futó” app. Nagyságrendileg a rendes RAM használat harmada jött ki dev környezetben, ami release esetén leeshet mondjuk az eredeti ötödére-tizedére. Ezzel összefügg, hogy a háttérben csak nagyon korlátozott use case-ek futhatnak, pl. lokáció (ami engedélyköteles pl.), vagy zene. A többi erőforrást elveszi az OS az apptól.

    Az Androidot is jól írod kb., annyi, hogy a Dalviknak ehhez nincs köze igazából, a GC (garbage collection) pedig egy memóriafelszabadító módszer, szóval ez inkább amiatt fontos, hogy egy app által hátrahagyott memória mikor lesz újra használható. Egy baj van vele, hogy ilyen környezetben nem optimális :) a futását úgy kell elképzelni, hogy néha lefut (mondjuk x ms-onként), viszont amíg fut, addig az appnak egy helyben kell állnia (tehát ez egy runtime feature, azaz futási időben számol és számol). Vagyis addig nem tud mit csinálni. Persze, megintcsak ha bika a CPU, akkor izomból letolja a feladatot, csakhogy jövőre már nagyobb appok jönnek, több RAM-ot esznek, és kezdődik elölről. IOS-en is van ez a memóriafelszabadítás természetesen, viszont itt a referenciaszámlálást használják (ARC). Ez minimálisan több figyelmet vár el a programozótól, cserébe nincs runtime overheadje, mert fordítási időben csinálja meg a dolgát. Innen azt hiszem látható az előnye, hiszen futás közben nem kell számoljon, és az app nem kell “megálljon.”

    prolad: de, ahogy írod, és jött helyette az ART, és vele együtt az ahead-of-time fordítás, ami nagyon sokat spórolt a telefonok erőforrásából. Ettől függetlenül az ART mint “közvetítő réteg” megmaradt (vagyis bejött a Dalvik helyére), úgyhogy egyértelműen javult a helyzet, de ez azért az iOS-en megszokott (tényleg) natív kódtól odébb van.

    (Ha rosszul írtam valamit, bocsi, Android guruk javítsanak nyugodtan :D ma már iOS-re fejlesztek csak)

    [ Szerkesztve ]

Új hozzászólás Aktív témák