• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

애플리케이션이 응답하지 않음: ANR 오류 추적 및 분석

안드로이드 모바일에서는 메인 UI 스레드가 5초 이상 차단되면 ANR(규격 Not Responding) 오류가 발생합니다. 이러한 오류는 사용자 경험을 크게 저하시키며 다음을 포함한 여러 요인으로 인해 발생할 수 있습니다.

  • 메인 스레드에서 네트워크 작업 수행
  • UI 업데이트를 차단하는 복잡한 계산 실행
  • 공유 자원을 놓고 경쟁하다
  • 대량 I/O 작업 실행

모니터링을 통해 ANR 오류는 앱의 안정성과 사용자의 전반적인 경험에 귀중한 인사이트를 제공합니다.

ANR 오류가 뉴렐릭에 보고되는 방식

기본적으로 Android 에이전트는 ANR 오류를 MobileApplicationExit 이벤트로 보고합니다. 이 이벤트는 Android의 ApplicationExitInfo API를 활용하여 앱 종료의 다양한 원인을 모니터링하고 보고합니다. 에이전트는 다음 앱에서 ApplicationExitInfo API 읽고 기록의 각 앱 종료에 대해 MobileApplicationExit 이벤트를 뉴렐릭에 비동기적으로 보냅니다.

뉴렐릭과 Google Play Console 간의 ANR 불일치 이해

뉴렐릭과 Google Play Console 간에 ANR 수와 발생률에 차이가 있을 수 있습니다. 이는 데이터 수집 방법의 차이로 인해 발생합니다.

  • Android 버전 적용 범위:

    • 뉴렐릭은 Android 11 이상을 실행하는 기기의 ANR에 중점을 둡니다.
    • Google Play Console은 모든 Android 버전에서 ANR을 캡처합니다.
  • 장치 및 앱 범위:

    • 뉴렐릭은 앱 소스와 상관없이 뉴렐릭 에이전트가 설치된 기기에서 보고합니다.
    • Google Play Console은 Play 스토어를 통해 다운로드한 앱이 있는 인증된 기기에서만 보고합니다.

자세한 내용은 Google Play 설명서를 참조하세요.

뉴렐릭에서 ANR 보기

ANRs 페이지는 개발팀이 ANR 문제를 식별, 분석, 해결하여 더욱 안정적인 모바일 환경을 제공하는 데 도움이 됩니다.

이 페이지에서는 다음 작업을 수행할 수 있습니다.

  • 전반적인 오류 추세를 평가합니다. 세션 및 사용자별 ANR 비율 차트를 검토하여 ANR 발생에서 이상 징후나 패턴을 발견합니다.

    • 세션별 ANR 비율: 시간 경과에 따라 오류가 발생한 세션의 비율을 앱 버전별로 표시합니다. 평균 ANR 세션 비율은 왼쪽 상단에 표시됩니다.
    • 사용자별 ANR 비율: 특정 기간 동안 ANR을 경험한 고유 사용자의 비율을 고유 사용자 전체 수에 대해 표시합니다. 고유 사용자는 일반적으로 deviceUuid 으로 식별됩니다.
  • 심층 분석을 위한 그룹화 및 필터링: 장치 유형, OS 버전, 앱 버전 또는 표준 및 사용자 정의 속성과 같은 속성별로 ANR 발생을 그룹화하거나 필터링합니다.

  • 패턴 식별: ANR 발생 표를 검토하여 ANR 설명(ANR 오류 메시지, 발생 날짜, 빈도, 앱 버전, 영향을 받은 사용자 수 등)과 관련된 추세를 찾습니다.

  • 개별 ANR 그룹 조사: 유사한 ANR의 특정 그룹을 자세히 살펴보면 다음과 같은 자세한 정보를 볼 수 있습니다.

    • ANR로 이어지는 사용자 작업을 보여주는 이벤트 추적
    • 사용자 여정 정보
    • 대표적인 스택 추적
    • 연관된 속성 및 메타데이터

    그리드 추적을 로컬 시스템으로 내보내고 Android 기호화 도구를 사용하여 난독화를 해제하여 보다 심층적인 분석을 수행할 수 있습니다.

    screenshot of ANR UI page

ANRs 페이지를 보려면:

  1. one.newrelic.com > All capabilities 으)로 이동합니다.
  2. Mobile 을(를) 클릭합니다.
  3. 안드로이드 앱을 선택하세요.
  4. 왼쪽 창에서 ANR 클릭합니다.

ANR 세부 정보 보기

ANR 세부 정보 보기는 다음을 포함하여 ANR 발생에 대한 포괄적인 개요를 제공합니다.

  • 발생 차트: 최초 감지 이후 선택한 기간 동안 특정 ANR의 빈도를 표시합니다. 여러 번 발생한 사건이 기록된 경우 각 인스턴스를 탐색할 수 있습니다.
  • ANR 유형 분석: 이 ANR이 가장 자주 나타나는 장치 모델이나 OS 버전의 패턴을 식별합니다.
  • ANR 속성 프로필: 앱 상태(전경/백그라운드), 장치 특성 또는 이 ANR 오류 그룹과 관련된 지리적 패턴 등 특정 ANR 오류 그룹에 대한 다양한 차원에서 패턴과 분포를 식별합니다.
Select an ANR occurrence to open the ANR details page

ANR 세부 정보 보기에 액세스하려면 ANRs 페이지에서 ANR 발생을 선택하세요.

ANR 스택 추적

ANR 오류가 발생하면 Android는 그리드 추적을 캡처합니다. 스택 추적은 오류가 발생한 순간의 코드 실행 경로에 대한 스냅샷입니다. 뉴렐릭은 Android ApplicationExitInfo#getTraceInputStream API 메서드를 사용하여 이러한 그리드 추적을 검색합니다. 그리드 추적이 가능한 경우 뉴렐릭은 ANR 발생 내역 아래에 이를 표시합니다.

유효성:

  • ANR을 위한 그리드 추적 데이터에는 뉴렐릭 Android 에이전트 버전 7.6.2가 필요합니다. 또는 나중에.
  • ApplicationExitInfo#getTraceInputStream 메서드가 null 반환하는 경우 ANR 발생에는 스택 추적이 포함되지 않습니다.

난독화 해제:

뉴렐릭은 현재 플랫폼 내에서 ANR 그리드 추적을 자동으로 해독하지 않습니다. 이 기능에 대한 지원은 향후 릴리스에서 제공될 예정입니다. 그동안 뉴렐릭에서 난독화된 ANR 헬리콥터 추적을 다운로드한 다음 Proguard/R8의 ndk-stack 또는 retrace 유틸리티와 같은 오프라인 도구를 사용하여 수동으로 헬리콥터 추적을 심볼화할 수 있습니다.

ANR 모니터링 비활성화

중요

서버 측 설정은 항상 로컬 에이전트 설정보다 우선합니다. 동시에 활성화된 장치가 100,000개 미만인 모바일 앱의 경우 최종 사용자 장치에 변경 사항을 적용하는 데 최대 10분이 걸릴 수 있습니다. 활성 장치가 100,000개가 넘는 앱의 경우 몇 시간이 걸릴 수 있습니다.

ANR 모니터링을 비활성화해야 하는 경우:

  1. 뉴렐릭에서 모바일 앱으로 이동합니다.
  2. Settings 아래의 왼쪽 창에서 Application 클릭합니다.
  3. Application Not Responding (ANR) [애플리케이션 응답 없음(ANR)을] 끕니다.
  4. 저장 을 클릭합니다.
Screenshot of the ANR setting
Copyright © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.