¿Qué es ANR en Android y cómo evitarlo?

Respuesta: ANR: la aplicación no responde Cuando ocurren las siguientes situaciones, Android mostrará el cuadro de diálogo ANR: La respuesta a los eventos de entrada (como pulsaciones de teclas, eventos de pantalla táctil) excede 5 El receptor de segunda intención. (intentReceiver) no se ha ejecutado durante más de 10 segundos. La aplicación de Android se ejecuta completamente en un hilo separado (como el principal). Esto significa que cualquier operación que tarde mucho tiempo en ejecutarse en el hilo principal provocará un ANR.

Hay dos soluciones:

1. En la tarea asincrónica AsyncTask, los dos métodos doInBackground() y onPostExecute(Result) son muy importantes

doInBackground( ) Este método se ejecuta en un hilo en segundo plano y es el principal responsable de realizar operaciones que requieren mucho tiempo, como conexiones de red en el sistema de enfermería móvil, análisis de XML, etc. Este método debe estar sobrecargado.

onPostExecute(Result) Este método también se ejecuta en el subproceso de la interfaz de usuario y se llama después de ejecutar el método doInBackground(Params...). Este método se utiliza para procesar los resultados devueltos después de ejecutar la tarea en segundo plano. .

2. Manejador de subprocesos