Domovská » jak » Jak Android řídí procesy

    Jak Android řídí procesy

    Systém Windows umožňuje, aby aplikace pro stolní počítače zůstaly spuštěné, ať už jsou viditelné nebo nikoli, zatímco systém Apple iOS umožňuje pouze aplikacím provádět několik omezených úloh na pozadí. Android se nachází někde mezi nimi - aplikace spuštěné v popředí mají prioritu, ale aplikace mají mnohem více volnosti pro spuštění na pozadí, než na iOS.

    Podíváme se, jak přesně Android spravuje aplikace a procesy spuštěné ve vašem telefonu nebo tabletu a demystifikuje to, co se děje na pozadí.

    Hierarchie životního cyklu procesu

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

    • 1. Prvotní proces: 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 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.
    • 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 provádí procesem poskytování služeb.
    • 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í. Můžete si představit tyto procesy na pozadí jako aplikace "pozastavené". Jsou uchovávány v paměti, abyste je mohli rychle obnovit, když se k nim vrátíte, ale nepoužívají cenný čas procesoru nebo jiné zdroje, které nemají paměť.
    • 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 urychlilo spuštění aplikace později, nebo systém může podle potřeby zabít.

    Řekněme, že například zapnete telefon a otevřete hudbu. Zatímco ji použijete, aplikace hudby bude popředí. Když začnete přehrávat hudbu a nechá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 popředí, když jste 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 Gmail se stává procesem 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

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

    Když systém Android potřebuje více systémových zdrojů, začne nejdříve 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 na nízké úrovni. 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.

    Aplikace Android samozřejmě poskytuje tak velkou flexibilitu, že mají prostor pro špatné fungování. Například špatně kódovaná aplikace může spustit servisní proces, který zůstane po celý čas běžící na pozadí, po celou dobu využití vašeho 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ý program používá ikonu upozornění. pokud se pokusíte zakázat ikonu upozornění, Avast! bude proti tomu doporučovat. 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 Android mohou začít v reakci na události

    Aplikace 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 řadu dalších událostí, například při pořízení snímku, při změně datového připojení apod. 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 nějakou základní správu procesů. Chcete-li k němu přistupovat, klepnutím na tlačítko multitasking věnované zařízením Nexus. V jiných zařízeních Android se může stát, že budete 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 rychle zabít aplikaci - 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 chybnou 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 z uživatelských karantén a spustit s oprávněními uživatele root.

    Image Credit: JD Hancock na Flickru