Android má již dlouho problémy se správou aplikací běžících na pozadí. Přestože Google nabízí instrukce, jak by měla androidová zařízení procesy běžící na pozadí řídit, výrobci smartphonů stále vylaďují systémy ve jménu efektivity baterie, čímž často narušují zamýšlené chování aplikací. Google dal na minulý týden proběhlé konferenci Google I/O jasně najevo, že na vyřešení tohoto problémů stále pracuje, a podělil se o pokrok, jakého v této věci zatím dosáhl.
V YouTube videu o změnách, jak a kdy aplikace mohou běžet na pozadí, softwarový inženýr Androidu Jing Ji nastínil, jaké problémy má Google s výrobci, kteří chtějí optimalizovat výdrž baterie způsoby, pro něž Android nebyl navržen. „Výrobci zařízení zavádějí různá omezení aplikací, která často nejsou zdokumentovaná. To může ztížit situaci vývojářům aplikací, jejichž služba na popředí by například mohla fungovat podle očekávání na zařízení jednoho výrobce, ale být nečekaně ukončena na zařízení jiného,“ říká Ji.
Ten kromě toho vysvětluje, že Google pracuje přímo s výrobci na vytvoření standardizovaných funkcí pro správu baterie na systémové úrovni, díky nimž nebude nutná další optimalizace z jejich strany. Android 13 dostane za tímto účelem několik vylepšení: možnost podrobněji sledovat spotřebu baterie u jednotlivých aplikací, takže uživatel uvidí, kolik daná aplikace spotřebovává energie, když je na popředí, na pozadí nebo spouští na popředí službu, a dá uživateli také vědět, když nějaká aplikace vybíjí baterii na pozadí. A ano, samozřejmě se tím naráží na kauzy škrcení výkonu, které se v nemalé míře dotkly i Samsungu.
Rozhraní JobScheduler, které má pomáhat efektivně plánovat úlohy, dostane vylepšení, která by mu podle Googlu měla pomoci spouštět úlohy tehdy, kdy je to pro uživatele nejužitečnější. Systém například odhadne, kdy je pravděpodobné, že uživatel danou aplikaci otevře, a efektivně tak naplánuje její předběžné načtení, což je něco, co by měl ideálně dělat na pozadí těsně před jejím spuštěním. JobScheduler bude také lépe vědět, které úlohy zastavit, když bude systémových prostředků málo, nebo když se zařízení začne zahřívat. Teoreticky by měl vybírat ty, které budou mít na uživatele nejmenší dopad. Google zároveň zdůrazňuje, že vývojáři by měli vyvíjet aplikace co nejefektivněji. Jinými slovy aby vyvážili výkon aplikací s celkovým zdravím systému.