9Sep

Jak Android řídí procesy

click fraud protection

systém Windows umožňuje, aby aplikace pro stolní počítače zůstávaly v provozu, ať už jsou viditelné nebo ne, zatímco aplikace iOS společnosti Apple umožňuje pouze aplikacím provádět několik omezených úloh na pozadí.Android se nachází někde mezi sebou - aplikací spuštěným v popředí jsou prioritizovány, ale aplikace mají spoustu volnosti pro běh na pozadí, než na iOS.

Podíváme se, jak přesně Android řídí aplikace a procesy běžící na vašem telefonu nebo tabletu, čímž demonstruje, co se děje na pozadí.

Hierarchie životního cyklu procesu

Proces v systému Android může být v jednom okamžiku v jednom ze pěti různých stavů, a to od nejdůležitějších k nejméně důležitým:

  • 1. Proces v popředí : Aplikace, kterou používáte, se považuje za proces v popředí.Jiné procesy mohou být také považovány za procesy v popředí - například pokud interagují s procesem, který je právě v popředí.V každém okamžiku existuje jen několik procesů v popředí.
  • 2. Viditelný proces : Viditelný proces není v popředí, ale stále ovlivňuje to, co vidíte na obrazovce. Například proces popředí může být dialog, který vám umožní vidět aplikaci za ní - aplikace viditelná na pozadí by byla viditelným procesem.
    instagram viewer
  • 3. Servisní proces : Servisní proces není spojen s žádnou aplikací, která je viditelná na vaší obrazovce. Na pozadí však něco dělá, například přehrávání hudby nebo stahování dat na pozadí.Pokud například zahájíte přehrávání hudby a přepnete na jinou aplikaci, přehrávání hudby na pozadí se bude provádět servisním procesem.
  • 4. Proces pozadí : Procesy na pozadí nejsou pro uživatele aktuálně viditelné.Nemají vliv na zkušenosti s používáním telefonu. V daném okamžiku běží mnoho procesů na pozadí.Tyto procesy na pozadí můžete považovat za aplikace "pozastavené".Jsou uchovávány v paměti, abyste je mohli rychle použít, když se k nim vrátíte, ale nepoužívají cenný čas procesoru nebo jiné zdroje, které nejsou pamětí.
  • 5. Prázdný proces : Prázdný proces již neobsahuje žádná data aplikace. Může být uchováván pro účely ukládání do mezipaměti, aby se urychlil spuštění aplikace později, nebo systém může v případě potřeby zabít.

Například řekněme, že zapnete telefon a otevřete hudbu. Zatímco ji budete používat, aplikace hudby bude popředí.Když začnete přehrávat hudbu a opouštíte hudbu, hudba bude pokračovat v přehrávání jako služba.

Podívejme se na Angry Birds jako další příklad. Rozzlobené ptáky by byly procesem v popředí, když jste je hráli. Když opustíte Angry Birds a vstoupíte do aplikace Gmail a zobrazíte tak svůj e-mail, Angry Birds se stává procesem na pozadí( protože na pozadí nemusí dělat nic), zatímco služba Gmail se stane popředí.Když se vrátíte zpět na Angry Birds, stane se vaším procesem v popředí a hra se rychle obnoví.Angry Birds nepoužívaly zdroje na pozadí - kromě některé paměti RAM - ale rychle se obnovuje, protože zůstala uložená do mezipaměti a byla připravena k obnovení.

Android automaticky řídí procesy

Android dělá dobrou práci s automatickým řízením těchto procesů, což je důvod, proč nepotřebujete úlohu zabijáka v systému Android.

Když Android potřebuje více systémových prostředků, začne nejprve zabíjet nejméně důležité procesy. Android začne zabíjet prázdné procesy a procesy na pozadí, aby uvolnil paměť, pokud je nízká.Pokud potřebujete více paměti - například když hrajete na zařízení s velkou náročností, aniž byste museli hodně paměti RAM, Android začne zabíjet servisní procesy, takže vaše stahování hudby a stahování souborů se může zastavit.

Ve většině případů Android dělá toto vše, aniž byste se o to museli starat. Android inteligentně používá paměť RAM vašeho zařízení pro ukládání do mezipaměti aplikací a dalších dat, protože nemá smysl nechat prázdnou RAM.

Samozřejmě, Android poskytuje aplikace s tak velkou flexibilitou, že mají prostor pro špatné fungování.Například špatně kódovaná aplikace by mohla spustit servisní proces, který zůstane po celý čas běžící na pozadí, po celou dobu využití procesoru a dramaticky snížit životnost baterie.

Jedna zajímavá věc, kterou si všimnete v antivirových aplikacích, jako je Avast!pro Android je, že antivirová aplikace používá ikonu upozornění.pokud se pokusíte zakázat ikonu oznámení, Avast!doporučit proti němu. Tím, že máte viditelnou ikonu upozornění, Avast!dělá aplikaci s vyšší prioritou a zabraňuje Androidu, aby ji považovala za aplikaci na pozadí a zabila ji.

Aplikace pro Android mohou začít v reakci na události

Aplikace pro Android mohou také začít v reakci na události. Například vývojář mohl naprogramovat aplikaci, aby automaticky spouštěla ​​při spuštění a spustila službu na pozadí.Aplikace mohou být spuštěny v reakci na celou řadu dalších událostí, například při pořízení snímku, při změně datového připojení a podobně.To umožňuje aplikacím provádět akce v reakci na události, aniž by na pozadí probíhaly neustále.

Správa procesů

Nemusíte řídit procesy ručně, ale existuje několik způsobů, jak to udělat, pokud chcete. Nabídku pro více úloh můžete použít v systému Android 4.0 a novějších, abyste mohli provádět základní správu procesů.Chcete-li k němu přistupovat, klepněte na tlačítko multitasking věnované zařízením Nexus. V ostatních zařízeních Android budete možná muset dvakrát klepnout nebo dlouze stisknout tlačítko Domů.

Aplikace zobrazené v nabídce jsou pravděpodobně ve stavu "background process".Můžete je zabít přetažením aplikace doleva nebo doprava, což ji odstraní z paměti vašeho zařízení.To by nemělo být nutné, ale může pomoci, když chcete aplikaci rychle zabít - možná to je špatně.

Můžete také přejít na obrazovku nastavení, klepnout na Apps, klepnout na aplikaci a pomocí tlačítka Vypnout silu zabít špatnou aplikaci.

Android je založen na systému Linux a každá aplikace v systému Android je přiřazena k jinému uživatelskému účtu Linuxu nebo uživatelskému účtu. To odděluje aplikace od sebe. Pokud kořenujete zařízení, aplikace mohou uniknout uživatelským karanténám a spustit s oprávněními uživatele root.

Image Credit: JD Hancock na Flickr