En las aplicaciones móviles Android , un error de aplicación no responde (ANR) ocurre cuando el hilo de UI principal se bloquea durante más de cinco segundos. Estos errores degradan significativamente la experiencia del usuario y pueden ser causados por varios factores, entre ellos:
- Realizar operaciones de red en el hilo principal
- Ejecución de cálculos complejos que bloquean las actualizaciones UI
- Compitiendo por recursos compartidos
- Ejecución de operaciones de I/O pesadas
Al monitorear los errores ANR, se obtiene información valiosa sobre la estabilidad de su aplicación y la experiencia general de sus usuarios.
Cómo se informan los errores ANR a New Relic
De forma predeterminada, el agente de Android informa los errores ANR como MobileApplicationExit
evento, que aprovecha APIApplicationExitInfo
de Android para monitor e informar sobre las diferentes causas de la terminación de la aplicación. El agente lee la API ApplicationExitInfo
en el siguiente lanzamiento de la aplicación y envía asincrónicamente el evento MobileApplicationExit
a New Relic para cada salida de la aplicación en el historial.
Comprender las discrepancias ANR entre New Relic y Google Play Console
Es posible que encuentres variaciones en los recuentos y tasas de ANR entre New Relic y Google Play Console. Esto se debe a diferencias en los métodos de recopilación de datos:
Cobertura de la versión de Android:
- New Relic se centra en los ANR de dispositivos con Android 11 o superior.
- Google Play Console captura ANR en todas las versiones de Android.
Alcance del dispositivo y la aplicación:
- New Relic informa desde dispositivos con el agente New Relic instalado, independientemente de la fuente de la aplicación.
- Google Play Console informa exclusivamente desde dispositivos certificados con aplicaciones descargadas a través de Play Store.
Para obtener más información, consulta la documentación de Google Play.
Ver ANRs en New Relic
La página ANRs ayuda a su equipo de desarrollo a identificar, analizar y resolver problemas de ANR para ofrecer una experiencia móvil más estable.
Esta página le permite:
Evaluar las tendencias generales de error: revise los gráficos de tasa de ANR por sesiones y usuario para detectar anomalías o patrones en las ocurrencias de ANR.
- Tasa de ANR por sesión: muestra el porcentaje de sesiones que experimentaron errores a lo largo del tiempo, desglosado por versión de la aplicación. El porcentaje promedio de sesión ANR se muestra en la esquina superior izquierda.
- Tasa de ANR por usuario: muestra el porcentaje de usuarios únicos que experimentaron un ANR durante un periodo, en relación con el número total de usuarios únicos. Los usuarios únicos normalmente se identifican con un
deviceUuid
.
Agrupe y filtre para un análisis más profundo: agrupe o filtre las ocurrencias de ANR por atributos como tipo de dispositivo, versión del sistema operativo, versión de la aplicación o cualquiera de los atributos estándar y personalizados.
Identificar patrones: examine la tabla de ocurrencias de ANR para encontrar tendencias relacionadas con la descripción de ANR, como el mensaje de error de ANR, la fecha de ocurrencia, la frecuencia, la versión de la aplicación y la cantidad de usuarios afectados.
Investigar grupos de ANR individuales: profundice en grupos específicos de ANR similares para ver información detallada, como:
- traza de evento que muestra las acciones del usuario que manejaron al ANR
- Información del recorrido del usuario
- Representativo rastreo del stack
- Atributo y metadatos asociados
Puede exportar el rastreo de la stack a su máquina local y usar las herramientas de simbolización Android para desofuscarlos para un análisis más profundo.
Para ver la página ANRs :
- Vaya a one.newrelic.com > All capabilities.
- Haga clic en Mobile.
- Seleccione una aplicación de Android.
- En el panel izquierdo, haga clic en ANR.
Vista de detalles de ANR
La vista de detalles de ANR proporciona una descripción general completa de las ocurrencias de ANR, que incluye:
- Gráfico de ocurrencias: muestra la frecuencia de un ANR específico durante el periodo seleccionado desde su detección inicial. Si se registran varias ocurrencias, puede navegar a través de cada instancia.
- Desglose del tipo de ANR: identifica patrones en modelos de dispositivos o versiones del sistema operativo donde este ANR aparece con mayor frecuencia.
- Perfiles de atributos ANR: identifica patrones y distribuciones en varias dimensiones para este grupo de errores ANR específico, como el estado de la aplicación (primer plano/fondo), las características del dispositivo o los patrones geográficos correlacionados con este grupo de errores ANR.

Para acceder a la vista de detalles de ANR, en la página ANRs , seleccione una ocurrencia de ANR.
Rastreo de stackANR
Cuando ocurre un error ANR, Android captura un rastreo del stack. Un rastreo de stack es una instantánea de la ruta de ejecución del código en el momento del error. New Relic recupera este seguimiento stack Android ApplicationExitInfo#getTraceInputStream
API de empleando el método. Si hay un seguimiento de la stack disponible, New Relic lo muestra debajo de los detalles de ocurrencia de ANR.
Disponibilidad:
- El seguimiento de datos de pila para ANR requiere New Relic Android la versión 7.6.2 del agente o más tarde.
- Una ocurrencia ANR no incluirá un rastreo de la stack si el método
ApplicationExitInfo#getTraceInputStream
devuelvenull
.
Desofuscación:
Actualmente, New Relic no desofusca automáticamente el rastreo de stack ANR dentro de la plataforma. Se planea brindar soporte para esta función en una versión futura. Mientras tanto, puedes descargar el rastreo del stack ANR ofuscado desde New Relic y luego usar herramientas fuera de línea, como la utilidad ndk-stack
o retrace
de Proguard/R8, para simbolizar el rastreo del stack manualmente.
Deshabilitar el monitoreo ANR
Importante
La configuración del lado del servidor siempre tiene prioridad sobre la configuración del agente local. Para aplicaciones móviles con menos de 100.000 dispositivos activos simultáneamente, puede llevar hasta 10 minutos aplicar los cambios a los dispositivos finales del usuario. Para aplicaciones con más de 100.000 dispositivos activos, puede tardar varias horas.
Si necesita desactivar el monitoreo ANR:
- En New Relic, navega hasta tu aplicación móvil.
- En el panel izquierdo debajo de Settings, haga clic en Application.
- Desactive el Application Not Responding (ANR) .
- Clic en Save.
