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.
