ANR(Application Not Responding)이란?

안드로이드 시스템은 일정 시간동안 응답이 없는 APP에 대해 ANR라 불리는 대화 상자를 사용자에게 보여줘서 방어한다.

사용자는 APP을 바로 종료 할 수도 있고 APP의 응답을 기다릴 수도 있다("Wait" button을 눌러서...).


원인

  • APP이 사용자 입력에 응답할 수 없다는 시스템의 판단
  • Activity Manager와 Window Manager 시스템 서비스의 모니터링에 다음 조건 중 하나가 감지될 경우:
    • 입력 이벤트에 5초 이내 반응이 없을 경우
    • BroadcastReceiver가 10초 이내 실행 완료되지 않을 경우

Load가 걸리는 작업일 경우 thread를 생성하여 백그라운드에서 작업을 해야 한다.


+ Recent posts