Aktív témák

  • atillaahun

    veterán

    válasz Deck #40652 üzenetére

    Teszteltem 1-2 napig, leveleztem a fejlesztővel is, (kiderült itt lakik vagy 3 utcányira), de végül arra jutottam -szépen szólva-, hogy a gyakorlati haszna igen minimális. Szerintem írtam is már itt róla ha esetleg rákeresel.

    Az OOM Level (érték) az out of memory, az a határ, amikor a rendszer elkezdi kilövögetni a RAM-ba töltött programjaid az OOM Piorities (fontossági szint) szerint. Az OOM szintek csak rendszerprogram szinten konfigurálhatóak, de hatásuk így is igen csekély. Nagyjából annyi történik, hogy minél alacsonyabbra állítod annál több programot tudsz majd párhuzamosan használni anélkül, hogy hosszú másodperceket kellene várni míg átváltasz köztük. Viszont túl alacsonyra sem szabad állítani, mert az meg (én se értem pontosan hogyan) lassítja a rendszert. A tippem az lenne, hogy a nem látható rendszerfolyamatok kárára kezdi el foglalni a memóriát. Egy átlag 512 MB RAM-os készüléknél ez típustól függően ~120 és ~60 MB között van alapból, már ami az alább olvasható 6 szint közül a legalsó értékét illeti.
    Az OOM Priorities-t viszont csak kernel szinten lehet szabályozni, a felhasználói programok nem férnek hozzá. 6 csoport van (OOM Groupings):
    Előtérben lévő: -16 - 0
    Látható: 1
    Másodlagos szerver: 2
    Rejtett alkalmazás: 3 - 7
    Tartalom szolgáltató: 8 - 14
    Üres alkalmazás: 15
    Minden egyes alkalmazás/folyamat kap egy értéket (melyek az aktuális állapotuk függvényében változ(hat)nak is), és eszerint dönti el a rendszer mikor mi foglalhatja a memóriát.
    Ez a program esetleg érdekességképpen arra lehet jó, hogy meg lehet vele nézni a felhasználói programok és a sosem látott háttérben futó rendszerfolyamatok prioritásait, hogy melyiket milyen fontosnak ítéli meg az Android csak így magától.

    ... gyorsan míg el nem felejtem a kilövöldözgetések kapcsán: az autorun-t, tehát program újraindulásokat tiltó app-ok közül szvsz az Autostarts a legjobb, mert itt nem csak programonként állíthatjuk be mire van szükségünk és mire nem, hanem azokon belül lévő folyamatonként is (jól el is lehet ám kúrni dolgokat). Kézzel vagy programmal kilövöldöz-getni/tetni azért nem érdemes semmit, mert az App-ok részfolyamatai különböző eseményekhez vannak rendelve, így előbb-utóbb, de inkább előbb úgyis újra fognak indulni. A leggyakoribb példa mikor a Maps-et látjuk folyton a memóriában, annak ellenére, hogy napok óta nem használtuk, vagy a legutóbbi reboot óta el sem indítottuk. Ez azért van, mert az indulása olyan eseményekhez van kötve rendszer szinten, mint pl. bárminek a feltelepítése vagy uninstall-ja (ez most csak 2 gyakori esemény, egyébként tucatnyi ilyen van, aminek a nagy részéről fogalmam sincs micsoda). Ha ez megtörténik a Maps bekerül a RAM-ba. Persze kezdetben, csak mondjuk egy "Tartalom szolgáltató" csoportbeli besorolást kap, egy 10-es prioritással, és nem foglal csak ~6 MB RAM-ot. Gondolhatnánk, hogy ha már egyszer fut (!) (érdemes tudni, hogy a RAM-ban látható programok a fenti csoportba való tartozásukból eredően nem mind futnak, tehát nem feltétlen használnak erőforrást - CPU-t), akkor miért tart mégis jó pár másodpercig míg elindul. Azért mert a Maps-nek csak egy háttérfolyamata töltődött be a memóriába, amit mi láthatólag nem használunk semmire. Ha meg akarunk nézni a térképen valamit, akkor máris kap a Maps 1-2 osztállyal magasabb besorolást, és felugrik a memóriahasználata ~20 MB-ra. Ha erre még ráizzítjuk a Navigációt is, akkor max. besorolást kap, és máris fogyaszt 50+ MB-ot.

    Na most viszont dolgom van, úgyhogy mégsem lesz ebből kisregény, a lényeg, hogy az egyetlen valamire való memóriakezelő program az XDA-ról elérhető V6 Supercharger script, de a beállítása kb. a Tasker-ével vagy Call Meter-ével vetekszik, csak ez még pluszba terminal-ból vezérelhető parancssoros is. De akit baromira idegesít, hogy miért lassul be az Android 1-2 nap után az elkínlódhat vele.

Aktív témák