9Sep
Systém Windows umožňuje aplikáciám na počítači zostať v prevádzke bez ohľadu na to, či sú viditeľné alebo nie, zatiaľ čo aplikácia Apple iOS umožňuje iba aplikáciám vykonávať niekoľko obmedzených úloh na pozadí.Android sa nachádza niekde medzi tým - aplikácie spustené v popredí majú prioritu, ale aplikácie majú oveľa väčšiu voľnosť na spustenie na pozadí, ako v aplikácii iOS.
Pozrime sa, ako presne Android spravuje aplikácie a procesy bežiace vo vašom telefóne alebo tablete a demystifikuje to, čo sa deje na pozadí.
Hierarchia životného cyklu procesu
Proces v systéme Android môže byť v jednom z piatich rôznych stavov kedykoľvek, od najdôležitejších až po najdôležitejšie:
- 1. Proces popredia : Aplikácia, ktorú používate, sa považuje za proces v popredí.Ostatné procesy môžu byť tiež považované za procesy v popredí - napríklad ak interagujú s procesom, ktorý je v popredí.Existuje len niekoľko procesov v popredí v danom čase.
- 2. Viditeľný proces : Viditeľný proces nie je v popredí, ale stále ovplyvňuje to, čo vidíte na obrazovke. Napríklad popredným procesom môže byť dialógové okno, ktoré vám umožní vidieť aplikáciu za ním - aplikácia viditeľná na pozadí by bola viditeľným procesom.
- 3. Servisný proces : Servisný proces nie je viazaný na aplikáciu, ktorá je viditeľná na vašej obrazovke. Na pozadí však niečo robí, napríklad prehrávanie hudby alebo sťahovanie údajov na pozadí.Ak napríklad začnete prehrávať hudbu a prechádzať na inú aplikáciu, prehrávanie hudby na pozadí je spracované servisným procesom.
- 4. Bezdrôtový proces : procesy na pozadí nie sú v súčasnosti viditeľné pre používateľa. Nemajú vplyv na skúsenosti s používaním telefónu. V danom okamihu sa v súčasnosti používa mnoho procesov na pozadí.Tieto pozadie procesov môžete považovať za aplikácie pozastavené.Sú uložené v pamäti, takže ich môžete rýchlo obnoviť, keď sa k nim vrátite, ale nepoužívajú cenný čas procesora alebo iné zdroje, ktoré nemajú pamäť.
- 5. Prázdny proces : Prázdny proces už neobsahuje žiadne údaje aplikácie. Môže byť udržiavaný na účely ukladania do vyrovnávacej pamäte, aby sa urýchlila spustenie aplikácie neskôr, alebo systém môže podľa potreby zabiť.
Povedzme napríklad, že zapnete telefón a otvoríte hudobnú aplikáciu. Keď ho použijete, hudobná aplikácia bude popredným procesom. Keď začnete prehrávať hudbu a ponecháte hudobnú aplikáciu, hudba bude ďalej hrať ako služobný proces.
Pozrime sa na Angry Birds ako ďalší príklad. Rozzlobený vták by bol proces popredia, kým ste ho hrali. Keď opustíte Angry Birds a zadáte aplikáciu Gmail na zobrazenie vášho e-mailu, Angry Birds sa stáva procesom na pozadí( pretože na pozadí nemusí robiť nič), zatiaľ čo Gmail sa stáva popredným procesom. Keď sa vrátite späť na Angry Birds, stane sa to váš popredný proces a hra sa obnoví rýchlo. Angry Birds nepoužívala zdroje na pozadí - okrem niektorých RAM - ale rýchlo sa obnovuje, pretože zostalo uložené do pamäte a pripravené na obnovenie.
Android automaticky spravuje procesy
Android má dobrú prácu s automatickým riadením týchto procesov, čo je dôvod, prečo nepotrebujete úlohu zabijaka v systéme Android.
Keď Android potrebuje viac systémových prostriedkov, najprv začne zabíjať najmenej dôležité procesy. Android začne zabíjať prázdne a pozadie procesy na uvoľnenie pamäte, ak máte nízku úroveň.Ak potrebujete viac pamäte - napríklad, ak hráte náročnú hru na zariadení bez veľkej pamäte RAM, systém Android potom začne zabíjať servisné procesy, takže vaše streamingové súbory a sťahovanie súborov sa môžu zastaviť.
Vo väčšine prípadov Android to robí bez toho, aby ste sa o to museli starať.Android inteligentne využíva pamäť RAM vášho zariadenia na ukladanie do pamäte aplikácií a iných údajov, pretože nie je zmysluplné nechať RAM prázdnu.
Android samozrejme poskytuje aplikáciám takú flexibilitu, že majú priestor na zlé správanie. Napríklad nesprávne kódovaná aplikácia môže spustiť servisný proces, ktorý zostáva v prevádzke na pozadí po celú dobu, po celú dobu spracovania procesora a dramaticky klesajúcu životnosť batérie.
Jedna zaujímavá vec, ktorú si všimnete v antivírusových aplikáciách, ako je Avast!pre Android je, že antivírusová aplikácia používa ikonu upozornenia.ak sa pokúsite zakázať ikonu upozornenia, Avast!odporučí.Ak máte viditeľnú ikonu upozornenia, Avast!robí aplikáciu s vyššou prioritou a zabraňuje tomu, aby Android považoval aplikáciu na pozadí a zabila ju.
Aplikácie pre Android môžu začať v reakcii na udalosti
Aplikácie pre systém Android môžu tiež začať v reakcii na udalosti. Napríklad vývojár by mohol naprogramovať svoju aplikáciu tak, aby sa automaticky spustila pri štarte a spustila službu na pozadí.Aplikácie môžu začať v reakcii na rôzne iné udalosti, ako napríklad pri fotografovaní, pri zmene dátového pripojenia atď.To umožňuje aplikáciám vykonávať akcie v reakcii na udalosti bez toho, aby na pozadí bežali nepretržite.
Správa procesov
Nemusíte spravovať procesy ručne, ale existuje niekoľko spôsobov, ako to urobiť, ak chcete. Môžete použiť ponuku multitasking v systéme Android 4.0 a novšej, aby ste mohli spravovať nejaký základný proces riadenia. Ak chcete získať prístup k nej, klepnite na tlačidlo multitasking venované zariadeniam Nexus. V iných zariadeniach s Androidom budete musieť dvakrát klepnúť alebo dlho stlačiť tlačidlo Domov.
Aplikácie zobrazené v ponuke sú pravdepodobne v stave "background process".Môžete ich zabiť presunutím aplikácie doľava alebo doprava, čím ju odstránite z pamäte zariadenia. To by nemalo byť nevyhnutné, ale môže pomôcť, keď chcete aplikáciu rýchlo zabiť - možno to zle funguje.
Môžete tiež prejsť na obrazovku Nastavenia, klepnúť na Apps, klepnúť na aplikáciu a pomocou tlačidla Vynútiť zastavenie zablokovať nesprávnu aplikáciu.
Android je založený na systéme Linux a každá aplikácia v systéme Android je priradená inému používateľskému ID systému Linux alebo používateľskému účtu. To izoluje aplikácie od seba navzájom. Ak spustíte svoje zariadenie, aplikácie môžu uniknúť svojim používateľským karanténam a spustiť s oprávneniami používateľa root.
Image Credit: JD Hancock na Flickr