Ako Android spravuje procesy
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í sú prioritou, ale aplikácie majú oveľa viac voľnosti na spustenie na pozadí ako na iOS.
Pozeráme sa presne na to, ako Android spravuje aplikácie a procesy bežiace vo vašom telefóne alebo tablete, čo odhaľuje to, čo sa deje na pozadí.
Hierarchia životného cyklu procesu
Proces v systéme Android môže byť v každom okamihu v piatich rôznych štátoch, od najdôležitejších až po najdôležitejšie:
- 1. Prvok procesu: 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 prepínať na inú aplikáciu, prehrávanie hudby na pozadí je spracované servisným procesom.
- 4. Bežný proces: Bežné procesy nie sú pre používateľa v súčasnosti viditeľné. Nemajú vplyv na skúsenosti s používaním telefónu. V danom čase sa v súčasnosti používa mnoho procesov na pozadí. Tieto procesy na pozadí môžete považovať za aplikácie pozastavené. Sú uložené v pamäti, aby ste ich mohli 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ôžu byť uchované 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 e-mailu, Angry Birds sa stáva procesom na pozadí (pretože na pozadí nemusí robiť nič), zatiaľ čo služba 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 vyrovnávacej pamäte a pripravené na obnovenie.
Android automaticky spravuje procesy
Systém Android má dobrú prácu s automatickým riadením týchto procesov, čo je dôvod, prečo v systéme Android nepotrebujete útočníka.
Keď systém Android potrebuje viac systémových prostriedkov, najprv začne zabíjať najmenej dôležité procesy. Android začne zabíjať prázdne procesy a procesy na pozadí, aby uvoľnili pamäť, ak je nízka. Ak potrebujete viac pamäte - napríklad ak hrajete náročnú hru na zariadení bez veľkej pamäte RAM, systém Android potom začne zabíjať servisné procesy, takže sa môže zastaviť preberanie hudby a súborov..
Vo väčšine prípadov to robí Android 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.
Samozrejme, Android poskytuje aplikáciám takú flexibilitu, že majú priestor na nesprávne fungovanie. Napríklad nesprávne kódovaná aplikácia môže spustiť servisný proces, ktorý zostáva v prevádzke na pozadí po celú dobu, využíva celý čas procesora a dramaticky znižuje ž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čí proti nemu. 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ácia pre Android môže začať v reakcii na udalosti
Aplikácie pre systém Android môžu začať aj 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ď. 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. V aplikácii Android 4.0 a novšom môžete vykonať niekoľko základných procesov. Ak chcete k nemu pristupovať, 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ť potrebné, ale môže pomôcť, keď chcete rýchlo zabiť aplikáciu - možno to je zlé.
Môžete tiež prejsť na obrazovku Nastavenia, klepnúť na Apps, klepnúť na aplikáciu a pomocou tlačidla Vynútiť zastavenie zneužitia aplikácie.
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