Kako Android upravlja procese
Windows omogoča namiznim aplikacijam, da še naprej delujejo, ne glede na to, ali so vidne ali ne, medtem ko Appleov iOS dovoljuje aplikacijam, da v ozadju opravijo le omejene naloge. Android sedi nekje vmes - aplikacije, ki se izvajajo v ospredju, imajo prednost, vendar imajo aplikacije veliko več svobode, da se izvajajo v ozadju kot v sistemu iOS.
Poglejmo, kako Android upravlja aplikacije in procese, ki se izvajajo v telefonu ali tabličnem računalniku, in demistificira, kaj se dogaja v ozadju.
Hierarhija življenjskega cikla procesa
Postopek v Androidu je lahko v enem od petih različnih držav v danem trenutku, od najpomembnejših do najmanj pomembnih:
- 1. Postopek v ospredju: Aplikacija, ki jo uporabljate, velja za proces v ospredju. Drugi procesi so lahko tudi procesi v ospredju - na primer, če sodelujejo s procesom, ki je trenutno v ospredju. Obstaja le nekaj procesov v ospredju v danem trenutku.
- 2. Viden proces: Vidni postopek ni v ospredju, vendar še vedno vpliva na to, kar vidite na zaslonu. Postopek v ospredju je lahko na primer pogovorno okno, ki vam omogoča, da za njim vidite aplikacijo - aplikacija, ki je vidna v ozadju, je viden postopek.
- 3. Postopek servisiranja: Postopek storitve ni povezan z nobeno aplikacijo, ki je vidna na zaslonu. Vendar pa to počne v ozadju, kot je predvajanje glasbe ali prenos podatkov v ozadju. Če na primer začnete predvajati glasbo in preklapljate v drugo aplikacijo, se predvajanje glasbe izvaja v ozadju, ki ga obdeluje postopek storitve..
- 4. Postopek ozadja: Procesi v ozadju trenutno niso vidni uporabniku. Ne vplivajo na izkušnje z uporabo telefona. V vsakem trenutku se trenutno izvaja veliko procesov v ozadju. Te procese v ozadju si lahko zamislite kot »zaustavljene« aplikacije. Hranijo se v spominu, tako da jih lahko hitro nadaljujete z uporabo, ko se vrnete k njim, vendar ne uporabljajo dragocenega časa procesorja ali drugih ne-pomnilniških virov..
- 5. Prazen proces: Prazen proces ne vsebuje več podatkov o aplikaciji. To lahko ostane okoli za namene predpomnjenja za pospešitev zagona aplikacij kasneje, ali pa ga sistem lahko ubije, kot je potrebno.
Recimo, da vklopite telefon in odprete glasbeno aplikacijo. Medtem ko jo uporabljate, bo glasbena aplikacija v ospredju. Ko začnete predvajati glasbo in zapustite aplikacijo za glasbo, se bo glasba nadaljevala kot storitev.
Poglejmo si Angry Birds kot drug primer. Angry Birds bi bil v ospredju proces, medtem ko ste jo igrali. Ko zapustite Angry Birds in vstopite v aplikacijo Gmail, da si ogledate e-pošto, Angry Birds postane ozadje (ker v ozadju ne potrebuje ničesar), medtem ko Gmail postane proces v ospredju. Ko preklopite nazaj na Angry Birds, bo to postalo proces v ospredju in igra se bo hitro nadaljevala. Angry Birds ni uporabljal virov v ozadju - poleg RAM-a - vendar se hitro nadaljuje, ker je ostal predpomnjen in pripravljen za nadaljevanje.
Android samodejno upravlja procese
Android opravi dobro delo pri samodejnem upravljanju teh procesov, zato za Android ne potrebujete nobenega uboja.
Ko Android potrebuje več sistemskih sredstev, bo najprej najprej ubil najmanj pomembne procese. Android bo začel ubijati prazne procese in procese v ozadju, da bi sprostil pomnilnik, če boste zmanjkali. Če potrebujete več pomnilnika - na primer, če igrate posebno zahtevno igro na napravi brez večjega pomnilnika RAM, bo Android začel ubijati storitvene procese, zato se lahko prenosna glasba in prenos datotek ustavi.
V večini primerov Android to počne, ne da bi vam bilo treba skrbeti zanj. Android pametno uporablja RAM za napravo za predpomnjenje aplikacij in drugih podatkov, ker nima smisla pustiti RAM-a praznega.
Seveda Android ponuja aplikacije s toliko prilagodljivosti, da imajo prostor za neprimerno obnašanje. Na primer, slabo kodirana aplikacija lahko zažene proces storitve, ki ves čas poteka v ozadju, porabi ves čas procesorja in dramatično zmanjša življenjsko dobo baterije.
Ena zanimiva stvar, ki jo boste opazili v protivirusnih aplikacijah, kot je Avast! za Android je, da protivirusna aplikacija uporablja ikono za obvestila. če poskusite onemogočiti ikono obvestil, Avast! bo priporočil. Z vidno ikono obvestila, Avast! postane aplikacija z višjo prioriteto, ki Androidu preprečuje, da bi jo obravnavala kot ozadje in jo ubila.
Aplikacije za Android lahko začnejo kot odziv na dogodke
Aplikacije za Android se lahko začnejo tudi kot odziv na dogodke. Na primer, lahko razvijalec programira svojo aplikacijo, da se samodejno zažene ob zagonu in zažene storitev v ozadju. Aplikacije se lahko zaženejo kot odziv na vrsto drugih dogodkov, na primer, ko posnamete sliko, ko se spremeni podatkovna povezava itd. To aplikacijam omogoča, da izvajajo dejanja kot odziv na dogodke, ne da bi se nenehno izvajala v ozadju.
Upravljanje procesov
Procesov ne bi smeli upravljati ročno, vendar lahko to storite, če želite. V meniju Android 4.0 in novejših lahko uporabite večopravilni meni, da izvedete nekaj osnovnih postopkov upravljanja. Za dostop do nje tapnite namenski gumb za večopravilnost na napravah Nexus. Na drugih napravah Android boste morda morali dvakrat pritisniti ali dolgo pritisniti gumb Domov.
Aplikacije, ki so prikazane v meniju, so verjetno v stanju »ozadja«. Lahko jih ubijete tako, da povlečete aplikacijo na levo ali desno, ki jo bo odstranila iz pomnilnika naprave. To ne bi smelo biti potrebno, vendar vam lahko pomaga, če želite hitro ubiti aplikacijo - morda se ne drži pravilno.
Lahko si ogledate tudi zaslon Nastavitve, tapnete Aplikacije, tapnete aplikacijo in s tipko za zaustavitev prisilnega programa zaženete aplikacijo, ki ne deluje pravilno.
Android temelji na Linuxu in vsaka aplikacija na Androidu je dodeljena drugemu uporabniškemu ID-ju ali uporabniškemu računu Linuxa. To izolira aplikacije drug od drugega. Če izkoreninite napravo, lahko aplikacije pobegnejo iz svojih uporabnikovih peskovnikov in tečejo s korenskimi pravicami.
Zasluge za sliko: JD Hancock na Flickru