Nastal čas zase pár lidem vysvětlit, jak funguje správa procesů v Androidu, je v tom celá řada mýtů a od Androidu 6 dál probíhají veliké průběžné změny.
1) Clear all apps zavírá pouze aktivity (tj. viditelné obrazovky), nic jiného. Je naprosto bezpečné to používat, není to task killer, a aplikace takto odstraněná (stejně jako odswipnutím nahoru nebo do strany) se neukončí, jako to bývalo v dobách task killerů na Androidu 2.x. Veškeré background i foreground procesy běží dál, vč. widgetů, notifikací nebo synchronizačních služeb.
2) Vliv na paměť je mizivý (troufám si říct nulový), protože aktivity se z paměti uvolňují hned v momentě, kdy je potřeba pro něco jiného. Většina aplikací v tom seznamu nedávných už dávno spí, a jsou ve stavu uložené instance. Po návratu se ty lépe napsané dokážou obnovit do původního stavu, ty hůře napsané vynulují stav obrazovky (hodně blbě napsané skočí i na jinou obrazovku). Ty hodně dlouho uspané už mohou být ukončené systémem a startují znovu. Hlavní role swipování z recent apps, popř. klikání na clear all je vizuální úklid, aby tam nestrašily appky, ke kterým se nechcete momentálně vracet.
3) Jediný způsob, jak aplikaci skutečně ukončit, je vlézt do informací o aplikaci (buď přes systémové nastavení, nebo přes ikonku aplikace v Recent apps) a vynutit tam ukončení (force close). Doporučuji to nedělat, pokud k tomu nemáte dobrý důvod (např. testování, nebo se aplikace ocitne v rozbitém stavu) a nemáte v plánu ji rovnou spustit znovu. Dokud se totiž nespustí znovu (jistota je ručně, některé aplikace se mohou spustit i po restartu nebo jiné velmi specifické události), nebudou fungovat ani některé systémové funkce s ní spojené, které ve skutečnosti nepatří do aplikačního procesu, ale spravují je systémové služby - typicky push notifikace.
4) Každá aplikace na Androidu má k dispozici jen malý paměťový heap (dříve to bývaly desítky MB, dneska nižší stovky). Za určitých okolností se může heap navýšit, ale ne moc. Pokud máte třeba 6 GB RAM, a běží tam třeba 10 aplikací s 350 MB heapem, tak máte furt dost paměti pro další aplikace, a ukončení jedné nepřidá paměť žádné další. Když výrobce dá appce 350 MB, tak bude mít furt k dispozici jen 350 MB, i kdybyste měli 3 GB volné paměti.
5) Představa o tom, že aplikace běží na pozadí a dělají si co chtějí, je velice mylná, a s každou další verzí Androidu je ještě mnohem mylnější. Dnes (Android 13) už v zásadě nemůžete na pozadí dělat vůbec nic. Službu na pozadí můžete spustit jen z ručně spuštěné aplikace, a když to systému připadá, že už to trvá trochu moc dlouho, tak ji zabije. Cokoli delšího musí běžet jako služba na popředí, tj. musí se zobrazit viditelná notifikace ve stavové liště, jinak systém aplikaci nemilosrdně crashne. Pokud chcete, aby nebyla nahoře vidět pořád, musí si to změnit uživatel sám v nastavení upozornění, vývojář nemá právo spouštět službu s minimalizovanou nebo skrytou notifikací. Malé úkoly je možné dělat v rámci synchronizace, plánovaných úloh nebo obsluhy widgetu, ale musí to být malé tasky a nesmí probíhat moc často. S každou starší verzí Androidu jsou pravidla o něco volnější, ale to už je na uživateli, aby si vybral telefon, který má systém co možná nejaktuálnější, co možná nejdéle. Každopádně od Androidu 10 už je to hodně přísné, a už od Androidu 6 se musí aplikace dost snažit, aby vůbec mohly na pozadí fungovat.
6) Ať už použije vývojář mechanismus jakýkoli, vždycky nad aplikací stojí ještě krutovládce zvaný Doze mode, jehož prací je zabít všechno, co podle něj uživatel právě nepoužívá. Jako bonus odkládá plánované úlohy do předem určených oken, podle toho, jak dlouho už je zhasnutý displej (takže se může např. upomínka o 20 minut opozdit). Aplikace s dobrým důvodem může požádat uživatele o výjimku a vyžádat si vypnutí optimalizace baterie, ale i tak se občasné popravě nevyhne. Nad tím ještě stojí další obdobná vrstva konkrétního výrobce, která může a nemusí tato nastavení respektovat, a zejména u čínských značek bývá extrémně agresivní (do takové míry, že se vám už třeba neoznamují ani zprávy z WhatsAppu, vypne se vám WiFi, Bluetooth a tak...). Pokud se vám stává, že se vám odpojují hodinky, nezvoní budíky, nebo vám přestávají chodit notifikace, vypněte konkrétním aplikacím optimalizaci baterie, a bude se vám lépe dýchat. Ale občas se to stejně vysere - nadávejte výrobcům, ne vývojářům :-).
Zkrátka a jednoduše, na Androidu 2.x bylo možná obtížné napsat komplexnější aplikaci, která uživateli nevysaje RAMku a/nebo baterku, ale v dnešní době je absurdně složité napsat aplikaci, která vůbec dostane dost prostoru, aby udělala všechno co potřebuje. Zapomeňte, co jste se o Androidu naučili před 10 lety a přestaňte RAMku a baterku řešit. Google to řeší za vás, ať se vám to líbí nebo nelíbí :-)). Jestli vám v recent apps něco překáží, odswipněte to. Jestli to chcete vyčistit, vyčistěte to. Je to čistě UXová záležitost a nemá vliv na funkci aplikací.