Operační systém Android se dlouhodobě potýká s problémem aplikací, které na pozadí zbytečně vybíjejí baterii. Uživatelé si často stěžují na záhadné úbytky energie, za které mohou nenasytné aplikace využívající staré mechanismy, například tzv. „zámky probuzení“ (wake locks). Tyto zámky brání zařízení v přechodu do úsporného režimu, a když je vývojáři zapomenou včas uvolnit, telefon zbytečně „žere baterii“ i v kapse nebo na stole.
Google proto ve spolupráci s výrobci rozjíždí víceletý plán, jak s tímto nešvarem zatočit. Prvním konkrétním krokem je nová metrika v systému Android Vitals, která vývojářům i Googlu pomáhá odhalit aplikace, jež na pozadí drží tzv. „částečné zámky probuzení“ (partial wake locks) déle, než je systémem doporučeno. Pokud aplikace během 24 hodin nasbírá přes tři hodiny těchto zámků bez aktivní služby na popředí nebo zobrazování aktivních oznámení, dostane „černý puntík“.
Zámek probuzení je technika, kterou aplikace používají, aby zabránily telefonu úplně usnout – například když stahují data nebo čekají na důležitou zprávu. Pokud ale aplikace zámek včas neuvolní, procesor běží naplno a baterie mizí před očima.
Google si posvítí na „zámky probuzení“
Moderní Android nabízí lepší způsoby, jak úlohy na pozadí řešit, například přes WorkManager, který sám šetří energii a zámky spravuje chytřeji. Google přitom bere v potaz i výjimky – například přehrávání zvuku v multimediální aplikaci, ačkoli běží na pozadí, se do metriky nezapočítává.
Nová metrika je zatím v beta verzi, která primárně slouží pro sběr zpětné vazby od vývojářů. Už teď je jasné, že pokud aplikace překročí stanovený limit u více než 5 % uživatelů, může to mít následky. Google zvažuje, že takové aplikace budou méně viditelné v Obchodě Play nebo budou mít přímo na své stránce zveřejněnou výstrahu. Vývojáři tak dostanou jasný signál: optimalizujte, nebo riskujete ztrátu uživatelů.
Tato metrika přichází jako klíčový ukazatel kvality aplikace po boku dalších parametrů, jako je počet pádů aplikace nebo doba její nečinnosti. A co je zásadní: Google tuto metriku nepoužívá jen jako bič, ale vývojářům nabízí i pomoc.
Zní to jako dobrá zpráva
Například přes nástroje v Android Studiu mohou vývojáři snadno zjistit, která část kódu udržuje zařízení vzhůru déle, než by měla. WorkManager kromě úsporného řízení úloh spolupracuje s moderními mechanismy Androidu, jako je Doze nebo App Standby, které starší zámky probuzení často ignorují.
Z pohledu uživatelů je to určitě dobrá zpráva. Konečně se začíná systematicky řešit problém, který byl dlouho opomíjený a často vedl k frustraci, negativním recenzím i ztrátě důvěry v celou platformu. Uživatelé už nebudou muset složitě pátrat, která aplikace jim „vysává“ baterii – systém sám pomůže vývojářům tyto viníky najít a napravit. Nová metrika tedy není jen nástrojem proti vybíjení baterie – je to další krok ve snaze Googlu sjednotit pravidla a nasměrovat vývojáře k udržitelnému vývoji aplikací.
Celá iniciativa zapadá do širšího rámce, kdy Google postupně zpřísňuje pravidla pro aplikace běžící na pozadí a tlačí vývojáře k používání moderních, úsporných technik. Nová metrika je jen začátek – Google už teď avizuje, že v budoucnu přidá další ukazatele, které pomohou odhalit i jiné formy plýtvání energií. Výsledkem by měly být rychlejší, spolehlivější, a hlavně úspornější aplikace.