Sta per “Application Not Responding”. ANR è un’abbreviazione che descrive un’applicazione Android che non risponde. Quando un’applicazione è in esecuzione su un dispositivo Android e smette di rispondere, viene attivato un evento “ANR”. Due condizioni possono causare un errore ANR su un dispositivo Android:
- Un’applicazione attiva non risponde a un evento di input entro 5 secondi.
- La classe BroadcastReceiver non termina l’esecuzione dopo un lungo periodo di tempo.
Se si verifica un errore ANR sul tuo dispositivo Android, una finestra di dialogo apparirà sullo schermo. Il messaggio ti informerà che l’applicazione non risponde e ti chiederà se vuoi chiudere l’applicazione. Hai due opzioni: Aspetta o OK. Scegliere “Aspetta” ti permetterà di continuare ad aspettare se vuoi dare più tempo all’applicazione. Scegliendo “OK” chiuderai l’app e potresti perdere l’attività non salvata.
Gli errori ANR accadono per molte ragioni diverse. Alcuni sono legati allo sviluppatore, come una funzione scritta male che gira più volte del necessario. Altri sono legati al dispositivo, il che significa che l’hardware non può tenere il passo con le richieste dell’applicazione. Per esempio, se un’app sta facendo il rendering di un documento di grandi dimensioni, potrebbe impiegare diversi secondi per caricare i dati e rendere l’immagine sullo schermo. Questo potrebbe produrre un messaggio ANR, anche se il processo potrebbe essere completato pochi secondi dopo.
Sviluppatori
Perché gli ANR creano una cattiva esperienza utente, gli sviluppatori mirano ad evitarli o almeno a ridurre il numero di occorrenze il più possibile. Il sistema operativo Android registra gli ANR e le attività corrispondenti per aiutare gli sviluppatori a eseguire il debug delle loro applicazioni. Se un’app viene distribuita tramite Google Play, i dati ANR vengono automaticamente inviati a Google. Gli sviluppatori possono rivedere i dati ANR nella sezione Android Vitals della Developer Console.
NOTA: Nessun dato personale viene trasmesso con i dati ANR. Vengono registrati solo la versione dell’app, la versione di Android, il tipo di dispositivo e i dati di attività (come il processo corrente).
Aggiornato: 11 settembre 2018