Cosa succede se disattivo app in background?
Nel 2025, per gestire attività in background su Android, le pratiche e restrizioni principali sono le seguenti:
-
Categorie di attività in background:
Android distingue tra attività immediate (che si concludono rapidamente), differite (possono essere eseguite subito o in futuro) ed esatte (che devono partire a un orario specifico).- Le attività immediate possono essere eseguite su un thread o coroutine separati.
- Le attività differite si implementano con la WorkManager API, che garantisce esecuzione anche se l’app viene chiusa o il dispositivo riavviato.
- Le attività esatte si schedulano con AlarmManager [1].
-
Servizi e foreground services:
Un Service permette di eseguire operazioni lunghe in background senza interfaccia utente. Tuttavia, i servizi normali possono essere uccisi dal sistema se servono risorse.
Invece, un Foreground Service mostra una notifica persistente all’utente, quindi è meno probabile che venga terminato ed è adatto per attività importanti in background (es. musica in riproduzione) [4] [5]. -
Restrizioni sul lancio di attività dallo sfondo:
Da Android 10 (API 29) in poi esistono limiti su quando un’app può avviare attività se è in background, per motivi di privacy e ottimizzazione batteria.
In Android 15 e versioni successive si deve esplicitamente abilitare questa capacità tramite parametri specifici suiPendingIntent, utilizzandoActivityOptions.setPendingIntentCreatorBackgroundActivityStartMode(ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED)[3]. -
Consigli tecnici e limiti:
- Non eseguire operazioni intensive sul thread principale per evitare freeze e errori ANR.
- Un
Worker(WorkManager) ha un tempo massimo di esecuzione di 10 minuti per compiti sincroni. - Per attività continue o critiche si preferiscono foreground services.
- È possibile abilitare un "modo rigoroso" per debug su blocchi del lancio attività in background [1] [3] [5].
-
Controllo da parte dell’utente:
Android offre impostazioni per limitare o bloccare attività in background di app (per risparmio batteria o dati), come la disabilitazione dell’“allow background activity” nell’area batteria delle app. Ciò impedisce il funzionamento in background dell’app stessa a livello di sistema [2] [7].
In sintesi, nel 2025 Android propone un sistema maturo e molto controllato per le attività in background, privilegiando WorkManager per compiti differiti, foreground services per attività continue e notifiche all’utente e restrizioni stringenti per avviare nuove attività da background, tutte con l’obiettivo di bilanciare funzionalità, sicurezza e risparmio risorse.