728x90
ANR
- UI 스레드가 너무 오랫동안 차단되면 'ANR (애플리케이션 응답 없음)' 오류가 트리거 된다.
- UI 스레드가 5초 이상 응답이 없으면 발생
원인
- 메인 스레드에서 I/O와 관련된 느린 작업 실행하는 경우
- 메인 스레드에서 긴 계산을 실행 중인 경우
- 메인 스레드에서 다른 프로세스에 관한 동기 바인더 호출을 실행 중이고 다른 프로세스가 반환하는데 시간이 오래 걸리는 경우
- 다른 스레드에서 발생하는 긴 작업을 위해 동기화된 블록을 대기하는 동안 메인 스레드가 차단됨
이러한 이유로
파일 I/O, 네트워크 조회, 데이터베이스 트랜잭션, 복잡한 계산 등의 지속 실행 작업은 반드시 백그라운드 작업 스레드로 실행
되어야 함.
728x90
'Android' 카테고리의 다른 글
[안드로이드] TabLayout과 ViewPager 사용 (0) | 2020.08.23 |
---|---|
[안드로이드 JetPack] 데이터 바인딩 (0) | 2020.08.23 |
[안드로이드] View가 그려지는 과정 (0) | 2020.08.23 |
[안드로이드] Parcelable (0) | 2020.08.22 |
[안드로이드] AsyncTask (0) | 2020.08.22 |
댓글