2011-07-03 16 views
8

Sigo recibiendo este error. ¿Alguien puede decirme qué significa o cómo lo soluciono? Gracias ANR en la actividad para la transmisión de las Intenciones

07-03 08: 27: 13.615: ERROR/ActivityManager (61): ANR en com.fttech.books

07-03 08: 27: 13.615: ERROR/ActivityManager (61): Razón : Transmisión de Intención {act = android.intent.action.TIME_TICK flg = 0x40000004 (tiene extras)}

Respuesta

14

ANR significa "Aplicación no responde". Este mensaje significa que su aplicación ya no responde al usuario. Normalmente, esta excepción se produce si el hilo de UI está bloqueado por una operación que lleva más de 5 segundos. Here are some information on this topic.

Las aplicaciones de Android normalmente se ejecutan completamente en una única (es decir, principal) hilo. Esto significa que cualquier cosa que su aplicación esté haciendo en el hilo principal que lleve mucho tiempo completar puede desencadenar el diálogo ANR porque su aplicación no se está dando la oportunidad de manejar el evento de entrada o la transmisión de Intent.

Por lo tanto, compruebe su código si está realizando operaciones de larga ejecución en el hilo de la interfaz de usuario.

+9

Y tenga en cuenta que se llama a 'onReceive()' de un 'BroadcastReceiver' en el subproceso principal de la aplicación. – CommonsWare

+1

Gracias! Así que lo descubrí. En mi consulta en mi base de datos SQL. Dejé fuera dos columnas muy importantes que la consulta necesitaba pero no daba ninguna sintaxis. Entonces una vez que agregué esos BAM! así que hice lo que hizo y comenté cada método a la vez para ver cuál era el problema. y estoy seguro de que fue suficiente. –

+0

¿Comenzaría un IntentService como una operación de larga ejecución en el hilo de UI? Porque eso es lo que estoy haciendo en mi método onReceive(). –

1

Flo tiene toda la razón en su explicación del problema.
En mi caso, estableciendo algunos puntos de interrupción en el método onReceive() y tratando de iniciar una actividad con un Intento provocó que la depuración se rompiera. Puedo reproducir perfectamente el problema.

La solución es desactivar todos los puntos de interrupción y los puso en el inicio de la nueva actividad, o si necesita depurar OnReceive(), ingrese lo que sucede allí con Log() función.
También podría haber otros errores en el código que pueden interrumpir la depuración.

Cuestiones relacionadas