Budeme sa pozrieť na to, ako 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šieho 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 popredia 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 žiadnu 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. 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 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.
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 nepotrebujete zabijakov úloh v systéme Android.
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 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 to Android 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.
Samozrejme, Android poskytuje aplikáciám takú flexibilitu, že majú priestor na zlomyseľné 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 Android môžu začať v reakcii na udalosti
Aplikácie 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ď. 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.
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.