Tracker del comportamento in background dell'app

Android 13 introduce il concetto di monitoraggio del consumo energetico , ovvero un processo che monitora l'utilizzo della batteria in primo piano o in background da parte delle app per determinare se le app violano alcune norme. Android 13 contiene due tracker del consumo energetico: il tracker del servizio in primo piano e il tracker dell'utilizzo della batteria in background. Invece di utilizzare i tuoi meccanismi per determinare l'abuso della batteria da parte delle app, ti consigliamo di utilizzare questi tracker per monitorare e avvisare gli utenti dell'utilizzo eccessivo della batteria.

Tracker del servizio in primo piano

I servizi in primo piano possono essere eseguiti e utilizzare la batteria per un lungo periodo di tempo. Il tracker del servizio in primo piano visualizza una notifica agli utenti quando un servizio in primo piano è in esecuzione da un lungo periodo di tempo ma è invisibile, ad esempio quando un utente ha ignorato la notifica del servizio. Se l'utente fa clic sulla notifica, viene visualizzato il task manager che consente all'utente di interrompere il servizio in primo piano. Questo tracker è abilitato per impostazione predefinita.

Monitoraggio dell'utilizzo della batteria in background

Le app possono scaricare la batteria in background senza che l'utente se ne accorga. Il tracker della batteria in background monitora l'utilizzo della batteria per ciascuna app. L'utilizzo della batteria in questo contesto è definito da tre dimensioni: app in primo piano in alto, servizio in primo piano che esegue qualcosa che non è visibile e parte in background dell'app. Se la parte in background dell'utilizzo della batteria dell'app supera una certa soglia, l'app viene spostata in un bucket limitato che la limita a un lavoro al giorno. Questo tracker è disabilitato per impostazione predefinita. Per abilitare questo tracker, esegui i seguenti comandi:

adb shell device_config put activity_manager bg_auto_restrict_abusive_apps 1
adb shell device_config put activity_manager bg_current_drain_auto_restrict_abusive_apps_enabled 1