Android에서 ANR(Application Not Responding)과 Crash는 모두 어플리케이션의 비정상적인 동작을 의미하지만, 그 원인과 발생 방식에서 차이점이 있다. ANR (Application Not Responding) ANR는 앱이 일정 시간(일반적으로 5초) 동안 응답하지 않아 발생한다.
조금 더 자세하게 들어가면 UI Thread가 일정 시간 이상 처리되지 못하는 경우 발생한다. 보통 아래의 원인으로 인해 발생된다.
UI Thread에서 느린 I/O 작업을 실행 중일 때 파일 읽기/쓰기, 네트워크 요청과 같은 시간이 오래 걸리는 작업을 UI Thread에서 처리하면 화면이 멈춘 것 처럼 보일 수 있다. 예를 들어, 큰 파일을 읽는 동안 앱이 반응하지 않게 된다.
UI Thread에서 긴 계산 작업을 처리할 때 복잡한 계산이나 데이터 처리 같은 작업이 UI Thread에서 실행되면, 화면이 응답하지 않게 된다. 다른 프로세스와 동기식 바인더 호출을 할 때 다른...
원문 링크 : (Android) ANR와 Crash 간 차이점