“Task killery” jsou zbytečné, tvrdí i Google a Cyanogen

task_killery_ico2

Nejrůznější “task killery” a “čističe RAM” si kladou za úkol zvýšit výkon telefonu a zároveň prodloužit výdrž baterie na jedno nabití. Jejich výsledky jsou ale přinejmenším velice diskutabilní. Dnes se podíváme jak na názory odborníků, tak i odpovědi vývojářů těchto nástrojů.

Článek Proč byste na Androidu neměli používat „task killery“ a „čističe RAM“? z minulého týdne vyvolal mezi našimi čtenáři bouřlivou diskuzi. Polemizovalo se především o tom, zda aplikace pro správu operační paměti, fungující nejčastěji tak, že ukončují (či “sestřelují”) běžící procesy, přinášejí nějaký pozitivní efekt na plynulost systému, nebo naopak. V diskuzi také zazněly požadavky na zjištění oficiálního stanoviska Google.

Co říkají odborníci?

Pátrali jsme tedy dále a zjistili, že server Androinica přinesl již v roce 2010 článek Google and Cyanogen comments imply task killer/manager apps are pointless, tedy že z komentářů Googlu a Cyanogenu (tvůrci patrně nejpopulárnější alternativní ROM) plyne, že “task killery” a podobné programy jsou zbytečné. Článek odkazuje na příspěvek softwarové vývojářky Dianne Hackborn, která upozorňuje, že Android nepotřebuje ukončovat aplikace, když je uživatel opustí. Nicméně, to neznamená, že aplikace běžící na pozadí nemůže negativně ovlivnit výkon – konkrétní citace ze článku Dianne Hackborn říká, že: “Aplikace se může zdát uživateli jako přítomná bez toho, v tu chvíli běžel nějaký aktivní proces; více aplikací může sdílet procesy, nebo jedna aplikace může v závislosti na svých potřebách využívat více procesů; proces aplikace tak může být udržován v paměti systémem, ačkoli samotný program není v daném momentě aktivní.”

Dianne Hackborn Dianne Hackborn

Autorka pak dále popisuje čtyři faktory multitaskingu, které si Google vytyčil jako zásadní:

  • Nechtěli jsme, aby uživatelé zavírali aplikace, když s nimi skončí práci. Takové použití v mobilním prostředí nefunguje dobře, neboť uživatel pracuje v průběhu dne se širokou škálou aplikací, které spouští opakovaně na krátkou dobu.
  • Mobilní zařízení nemají “odkládací prostor” (obdobu virtuální paměti na Windows neboli “swap”), takže jsou kladeny docela tvrdé nároky na využití operační paměti.
  • Přepínání aplikací v mobilním zařízení je velmi kritický moment. Google se zaměřil na to, aby se nové aplikace spustily za méně než 1 sekundu. To je zvláště důležité při přepínání mezi několika aplikacemi, jako je například prohlédnutí SMS zpráv během sledování videa a opětovný návrat ke sledovanému filmu. Viditelné prodlevy v takových situacích uživatelé vnímají negativně.
  • Dostupná API musí být dostatečná v rámci filozofie “všechny požadavky aplikací jsou si rovny”. To znamená, že přehrávání hudby na pozadí, synchronizace dat, GPS navigace i stahování aplikací musí být provedeny skrze stejná API, která jsou k dispozici pro vývojáře třetích stran.

Co přesně výše uvedená fakta znamenají? Neměli byste ukončovat aplikace jen proto, že správce úloh tvrdí, že běží a zabírají místo v RAM. Program je automaticky uzavřen, pokud telefon vyžaduje operační paměť, nebo v případě, že aplikace zůstane příliš dlouho neaktivní.

V roce 2009 si uživatelé telefonu HTC Dream začali stěžovat na zpomalování svých telefonů a hledali způsob, jak zařízení zrychlit. Nástroje jako Advanced Task Manager a Taskiller Pro umožnily zjištění běžících procesů a jejich ukončení, což měl být prostředek k urychlení telefonu. Zdálo se to jako dar z nebes. Proti byl ale v již v té době Steve Kondik – nyní zakladatel a vývojář společnosti Cyanogen Inc, který jakýkoli vnímaný nárůst výkonu označil za placebo.

Názory Steva Kondika Názory Steva Kondika

Vývojáři “správců úloh” odpovídají

Vývojáři “task killerů” a “čističů paměti” mají pochopitelně na celou věc jiný názor, ve kterém se shodují s tou částí naší čtenářské obce, jež tvrdí, že jim tyto aplikace přinesly viditelné zlepšení výkonu. Arron La, autor programu Advanced Task Manager, prohlašuje, že tyto nástroje jsou užitečné pro starší zařízení, jako je G1 a telefony se starší verzí operačního systému. Připomeňme, že toto tvrzení pochází z roku 2010, takže se týká verzí starších než 2.1. “Správci úloh byli naprostou nezbytností, než vyšel v Android 2.0 nebo 2.1,” uvedl Arron La v e-mailu. “Správci úloh umožňovali uživatelům rychle ukončit služby spojené s aplikací – včetně všech ostatních věcí, stejně, jako například budíky – ale byl to jediný způsob, jak to udělat.”

Vývojář tvrdí, že aplikace tohoto typu sice “vyšly z módy”, ale domnívá se, že Advanced Task Manager má svůj smysl, protože poskytuje rychlejší možnost ukončení všech běžících procesů. Otázkou ale je, zda by měli uživatelé jít proti funkci a schopnosti Androidu ukončit procesy a služby podle vlastní logiky.

V Obchodě Play existovaly a existují desítky programů, nabízejících automatické ukončování aplikací v zadaném intervalu. To může vést k problémům – například neproběhnou synchronizace, nebude se aktualizovat widget – a to i v případech, kdy uživatel takový program zařadí na seznam výjimek (“white list”). Špatně nastavené “sestřelování” procesů může vyústit v potíže s kalendářem nebo e-mailem, zabránit budíku, aby vás ráno vzbudil, či způsobovat problémy při přehrávání hudby na pozadí.

Souhlasí i vývojář dnes již neexistující aplikace TaskOS, ačkoli jeho nástroj byl více o přepínání úloh a k ukončení aplikace sahal pouze tehdy, pokud to bylo nezbytně nutné. “Je velmi špatné ukončovat služby na Androidu, protože tyto služby jsou načteny s množstvím informací a “spí “, bez toho, aby ovlivňovaly spotřebu baterie.” To byl důvod, proč TaskOS nezobrazoval služby. “Ukončení jednoho procesu je prospěšní, když víte, co děláte, je prospěšné, nicméně hromadné “sestřelování” aplikací je špatné.”

A proč tedy v Obchodě Play tolik aplikací, slibujících zvýšení výkonu sestřelování? Odpověď je jednoduchá: protože existuje mnoho uživatelů, kteří programy tohoto typu chtějí. Kde je poptávka, tam je i nabídka.

Konečné rozhřešení

V Obchodě Play naleznete desítky, možná i stovky “task killerů” a “čističů RAM”, které se snaží zaujmout. Jistě narazíte na uživatele, kteří potvrdí krátkodobý efekt takových nástrojů. Podle odborníků z Google a Cyanogenu jsou ovšem takové programy v lepším případě zbytečné, v některých případech dokonce nadělají více škody než užitku. Uživatel si možná chvilku užije pocit rychlosti, nicméně v okamžiku, kdy se začnou do paměti načítat programy, které v ní byly před “čištěním”, musí logicky zaznamenat zhoršenou odezvu. Patrně bychom se měli smířit s tím, že Android má “přirozenou schopnost” spravovat operační paměť efektivně, aby telefon fungoval správně.

Smiřme se s tím, že Android není Windows Smiřme se s tím, že Android není Windows

Příčina problému, proč uživatelé přisuzují “task killerům” až magickou moc, tkví často v předchozích zkušenostech s desktopovým operačním systémem Windows. Pokud pod Windows běží mnoho programů najednou – ať už jsou to okna na ploše nebo aplikace na pozadí – dochází ke snížení výkonu počítače. Zavření aplikací, které nepoužíváte, může pomoci urychlit chod systému. Nicméně Android není Windows a neřídí procesy stejným způsobem. Na rozdíl od Windows, kde je zřejmý způsob, jak ukončit aplikace, na Androidu tomu tak není. Toto chování je záměrné! Když opustíte aplikaci na Androidu a například se vrátíte na domovskou obrazovku či přepnete do jiného programu, původní aplikace zůstává “běžet” na pozadí. Ve většině případů bude v pozadí pozastavena a nebude tak využívat procesor, síťové ani jiné zdroje. Samozřejmě některé programy budou využívat prostředky zařízení i na pozadí – například hudební přehrávače, stahování souborů, nebo aplikace, které provádějí synchronizaci. Když se do aplikace vrátíte, Android ji jakoby “odpauzuje”, a vy můžete pokračovat tam, kde jste přestali. Program je totiž stále uložen v paměti RAM, kde je připraven k opětovnému použití.

Není tedy problém, když telefon se dvěma či třemi gigabajty operační paměti má “plnou” RAM. Do programů uložených v operační paměti se lze rychle přepnout, aniž by je systém musel nahrávat z mnohonásobně pomalejšího interního úložiště nebo paměťové karty. Jestliže Android potřebuje více paměti, provede automaticky ukončení aplikací, které jste v poslední době nepoužívali. A nepotřebuje k tomu aplikaci třetí strany, která často spotřebovává více prostředků, než samotné ukončené procesy. Pokud tedy znovu spustíte či se vrátíte do programu, který nějaký nástroj odstranil z RAM, bude jeho odezva pomalejší, neboť systém je nucen ho načíst z pomalého úložiště. Během tohoto procesu bude také více spotřebovávat energii z baterie. Některé aplikace se navíc po ukončení “task killerem” automaticky restartují, čímž zatěžují procesor a baterii. Samotná RAM spotřebovává stále stejně energie, bez ohledu na to, zda je plná, nebo prázdná.

Kdy mohou “task killery” pomoci?

Existuje přeci jen výjimka, kdy použití “task killeru” může přinést pozitivní dopad. Jedná se o špatné či špatně napsané aplikace, které i při “odsunutí na pozadí” příliš zatěžují procesor a baterii. V případě ukončení takového programu skutečně může dojít ke zlepšení odezvy systému, snížení odběru elektrické energie a tím i poněkud mylnému závěru, že “task killer” funguje. V případě reálného zvýšení výkonu je tedy nejvíce pravděpodobné, že jste “zabili” tu správnou aplikaci, ale určitě to není tím, že jste uvolnili operační paměť. Pokud budete používat “task killer” v nějakém automatickém režimu, bude to jako onen pověstný “kanón na vrabce”. V konečném důsledku tak kromě drobného pozitivního efektu riskujete i to, že napácháte další škody.

Mnohem efektivnější cesta je odhalení problematické aplikace a její odinstalace. Leckdy se postačí podívat do systémového nastavení, který program spotřebovává nejvíce energie. Můžete ale vyzkoušet i aplikace třetích stran, jako jsou Watchdog Task Manager či OS Monitor (viz naše recenze Nakoukněte za oponu svého Androida s aplikací OS Monitor).

Předchozí článek

Proč byste na Androidu neměli používat „task killery“ a „čističe RAM“?
Zdroje: Androinica, Android Developers Blog, How to Geek, Lifehacker.

Karel Kilián
O Autorovi - Karel Kilián

S překonanou čtyřicítkou je s náskokem nejstarším členem redakce :-). Před několika lety hypoteticky vymyslel operační systém svých snů, aby následně zjistil, že přesně na… více o autorovi

Mohlo by vás zajímat

Komentáře (63)