Kaip veikia Android OS?

Manau, jog šį įrašą bus naudinga paskaityti žmonėms, kurie gavę į rankas Android telefoną puola ieškoti kaip išjungti programas arba ieško, kaip pažiūrėti įjungtų programų sąrašą, o neradę puola keiktis. Mažiau rūpinkitės, nes už jus tai daro pati operacinė sistema 🙂 Tad judėkim prie informacijos. Skliausteliuose parašiau esminius angliškus atitikmenis, kad būtų mažiau nesusipratimų dėl blogo interpretavimo.

Pirmiausia apie tai, iš ko žalias robotukas sudarytas. Šakninė dalis – Linux kernelis. Jį Android naudoja savo įrenginių tvarkyklėms (WiFi, kamera, usb ir t.t.), energijos valdymui ir t.t. Sekantis lygis – pati Android OS, visos jos bibliotekos (media kodekai, 2D, 3D grafika, naršyklės varikliukas WebKit ir daug kitų). Įdomu tai, kad tos bibliotekos parašytos C/C++ kalbomis, tačiau programų kūrėjai jas iškviečia naudodami Java sąsają. Už procesų ir atminties paskirstymą sistemoje atsakinga Dalvik VM (virtual machine).

Kitas lygis – programų rėmas (framework). Tai langų, vietos nustatymo (location), pranešimų ir t.t. valdikliai. Programų kūrėjai jais naudojasi kurdami programas. Pastebėtina, jog jie gauna tą pačia prieigą (api), kaip ir Android OS pagrindinės (core) programos. Pats aukščiausiasis lygis yra visos programos, kurias mes naudojame kasdien ir kurios naudoja anksčiau paminėta programų framework’ą.

Veiklų (activities) gyvavimas
Veiksmai, atliekami Android sistemoje valdomi veiksmų saugykla, arba kitaip – steku. Kai pradedama nauja veikla, ji pastatoma steko viršuje ir tampa veikiančia veikla, tuo tarpu veikla, veikusi prieš tai, lieka po naujai pradėta veikla ir neišplaukia į viršų, kol ta naujoji veikla nepasibaigia.

Veiklos turi keturias stadijas:
Aktyvi arba veikianti: Jei veikla yra steko viršuje (tarkim ekrane atverta programa).
Pristabdyta (paused): Tarkim turite kokią programą, kažką joje paspaudėte ir iššoko langas klausiantis patvirtinimo. Tai pati veikla pristabdyta (paused) kol neatliekate ko reikia, o tuomet ji veikia toliau. Tokia veikla gali būti sistemos nukilinta ekstremaliais atvejais pritrūkus atminties.

Sustabdyta (stopped): tuomet, kai turime atvertą programą ir atidarome kitą, kuri ją pakeičia ekrane, pirmoji sustabdoma. Tiesa, ji išsaugo turėtą informaciją ir pavyzdžiui baigus darbą su naujai atidaryta programa ir grįžus prie pirmosios, pastaroji bus tokios pat būsenos, kaip ir nustumiant ją žemyn. Tiesa tokias sustabdytas programas Android sistema gali paprasčiausiai išjungti pritrūkus atminties. Pirmiausia išjungiamos programos/veiklos esančios steke žemiausiai (naudota seniau).
Jei veikla pristabdyta arba sustabdyta, sistema gali ją išmesti iš atminties, pirmiau ją paprašiusi baigti darbą arba paprasčiausiai nukilindama procesą. Tačiau kai vartotojas vėl pereina prie tokios veiklos, ji būna perkraunama ir atkuriama tokios pat būsenos, kaip prieš išjungiant.

Prieiname prie Task Manager’ių dilemos. Naudoti ar ne? Nors galimi pasirinkimai yra tik du, tačiau kurį pasirinkti… Daugumai vartotojų tai pirmoji programa, parsisiųsta iš market’o. Dauguma naudoja (aš irgi naudodavau) siekdami atlaisvinti telefono atmintį. Kaip aiškinau anksčiau, to daryti nereikia. Nesvarbu kiek užpildyta atmintis, sunaudojamos energijos tai neįtakoja. Išjungus programą su task manageriu atlaisvinama atmintis, tačiau vartotojas nuo to tik pralaimi, nes kitą kartą paleidus programą jį turės atsikurti visiškai iš naujo, tam bus sunaudota daugiau energijos, nei prikėlimui iš atminties.

Kitas dalykas tuomet, kai tokios snaudžiančios programos naudoja interneto srautą savo atnaujinimams (Twitter, Facebook). Mano subjektyvus mąstymas pateikia tris galimus variantus:
1. išjungti tokias aplikacijas su task manager’iu (bet tai dauguma pasileis pačios)
2. išjungti internetą telefone kai telefono nenaudojate (nakčiai, paskaitai). Manau šis sprendimas šiek tiek skausmingas, aš asmeniškai tikrai tingėčiau įjunginėti išjunginėti…
3. “Pasamdyti” kažką kitą, kad už mus išjunginėtų.

Išplėtosiu trečiąjį variantą. Radau būtent tai (ir ne tik tai) atliekančia programą – Juice Defender. Lygiagrečiai su nemokama programos versija eina ir mokama tačiau puikiai pagrindines funkcijas atlieka ir nemokama.

Juice Defender

Pagrindinis programos tikslas yra prailginti baterijos darbo laiką. O tai atliekama labai paprastai – taupant interneto naudojimo aktyvumą. Kai telefono ekranas išjungtas, išjungiamas ir mobilusis internetas, jei tuo metu nėra aktyvių siuntimų. Internetas įjungiamas kas penkiolika minučių vienai minutei (nemokama versija berods neleidžia keisti intervalo). Po minutės išjungia. Arba tada, kai nebėra aktyvių siuntimų. Per tą laiką visos programos spėja atsinaujinti.

Remiantis programos duomenimis, mano telefono baterijos gyvavimo laikas pailgėjo 1.8 karto. Neblogai 🙂

Išvada: Task Manager’ius verta naudoti tuomet, kai išjungiamos problematiškos programos (ryjančios resursus per visus galus), kurias tuomet geriau visai išdiegti. Atmintimi Android OS pasirūpina pati. Pritaikymui savo poreikiams galima naudoti programinę įrangą, kaip, pavyzdžiui, mano paminėtas Juice Defender .

Svarbiausia tai, kad taisykles “kaip naudoti Android telefoną” sukurti yra labai sunku – kaip telefonas tarnaus savininkui priklauso nuo jo pačio vartojimo įpročių. Dėl šios priežasties vartotojas pats turi surasti tinkamiausią konfigūraciją savo telefonui. Tikiuosi, kad mano paaiškinimai ir patarimai padės susigaudyti tose paieškose 🙂

Mintimis ruošiant šį įrašą prisidėjo Karolis Pocius ir Povilas Musteikis .

9 comments on “Kaip veikia Android OS?”

  1. Andrius Reply

    Labai naudingas straipsnis, priejau isvados kad neverta naudoti taskmangeriu tai pat isirasiau sia programa, tikrai naudinga. Dekui.

  2. Giedrius Reply

    Dėkui už straipsnį! Patiko ir man 🙂
    gal ne į temą…bet 🙂 ar galima Androide kažkaip nustatyti, kad programas instaliuotų ne į telefono atmintį o į kortelės? nes beliko tik 15mb 🙁

  3. Giedrius Reply

    dėkui bijau prisidirbti 🙂 palauksiu android 2,2 nėra taip baisu 🙂

  4. Justinas Reply

    Bijau, kad su HTC politika gali tekti ilgiau palaukti.. 🙂 O šiaip root vartotojai visada turi daugiau galimybių, na bet tau rinktis 🙂

  5. arw Reply

    Klausimėlis: kodėl fone dažnai atsiranda tos programos, kurių aš net nebuvau iškvietęs? Pvz. defaultinis music playeris ar kt.

  6. gnu Reply

    Dėkui už gerą straipsnį, žadu pradėti naudot android aparatą, ir čia sužinojau dalykėlių kurių dar nežinojau 🙂

  7. Marius Reply

    as irgi prisimenu kaip pirma karta paemiau androida y rankas spaudziau kol uzsilagino nes nezinojau kad isejus programos pasilieka ijunkto 😀 net susinervinau galvoju nusipirkau o man laginti pradejo

Leave a Reply

Your email address will not be published. Required fields are marked *