¿Qué es el ANR en la aneroide?

ANR: una aplicación que no responde.

¿Qué desencadena ANR?

1) Sin respuesta a un evento de entrada en 5 segundos

2) Un BroadcastReceiver no ha terminado de ejecutarse en 10 segundos

* Nota: El tiempo real como se indicó anteriormente es variable, 5 segundos de espera para un evento de entrada y 10 segundos de espera para que Broadcast Receiver termine de ejecutarse son aproximaciones cercanas.

Generalmente, el sistema muestra un ANR si una aplicación no puede responder a la entrada del usuario. Por ejemplo, si una aplicación se bloquea en alguna operación de E / S (frecuentemente un acceso a la red) en el subproceso de la interfaz de usuario para que el sistema no pueda procesar eventos de entrada de usuario entrantes. O tal vez la aplicación pasa demasiado tiempo construyendo una estructura elaborada en memoria o calculando el siguiente movimiento en un juego en el hilo de la interfaz de usuario. Siempre es importante asegurarse de que estos cálculos sean eficientes, pero incluso el código más eficiente aún requiere tiempo para ejecutarse.

Fuente que mantiene su aplicación receptiva

En Android, la interfaz de usuario se ejecuta en un hilo, vamos a llamarlo hilo principal / hilo de la interfaz de usuario. Los cuatro componentes principales en Android, es decir, Actividad, Servicios, Receptores, Proveedores de contenido acceden a este hilo para realizar la tarea. Si alguno de estos está realizando una tarea de larga duración en la interfaz de usuario / subproceso principal, su interfaz de usuario se atascará y el sistema Android dará un error de aplicación que no responde. ¿Cuál es la solución? si desea realizar una tarea de ejecución prolongada, hágalo en Intent Service / Async Task / Service (con un subproceso personalizado), ya que se ejecutan en un subproceso diferente que no sea el subproceso de la interfaz de usuario.

ANR: el cuadro de diálogo La aplicación no responde cuando la aplicación no responde a los comentarios de los usuarios.

Las situaciones son como si el código se hubiera congelado en algún lugar y no pueda recibir eventos de entrada o la interfaz de usuario / hilo principal esté bloqueado.

Y se ve así, estaba editando una imagen en el emulador.