Thread
안드로이드에서의 스레드, 메인 스레드
스레드는 단일의 실행 시퀀스다. 스레드 내부의 코드는 한 단계씩 실행된다.
모든 안드로이드 앱은 메인 스레드로 시작된다.
그러나 메인 스레드는 미리 정해진 순서로 실행되지 않는다. 대신에 무한 루프에 머물면서 사용자나 시스템이 유발한 이벤트를 기다리는 것이다. 그리고 이벤트가 발생하면 응답하는 코드를 실행한다. 메인 스레드는 액티비티 시작, UI 관련 처리를 주로 하기 때문에 UI 스레드라고도 한다.
백그라운드 스레드
앱을 실행하다보면, 앱이 중지되는 경우가 있다. 이런 경우를 ANR(Application Not Responding)이라 한다.
앱이 응답을 안한다는 의미이다.
ANR = 앱 미응답
백그라운드 스레드를 앱에 추가할 때 고려할 규칙이 두가지 있다.
- 장시간 실행되는 모든 작업은 백그라운드 스레드로 수행되어야 한다.
- UI 는 main 스레드에서만 변경할 수 있다.
728x90
반응형
'Programming > Android' 카테고리의 다른 글
JetPack AAC: LiveData (0) | 2021.07.27 |
---|---|
Repository Pattern (0) | 2021.07.27 |
JetPack AAC: Room (0) | 2021.07.26 |