개발/안드로이드

안드로이드 스튜디오의 Thread

스몰스테핑 2024. 7. 16. 18:05

안드로이드 스튜디오에서는 Thread는 크게 2가지로 구분된다.

 

Main Thread(UI Thread)Worker Thread

 

Main Thread는 액티비티와 컴포넌트들의 사용을 담당하고 연동하는 역할로, UI 컴포넌트들과 밀접한 연관이 있는 Thread이기에 UI Thread라고도 불린다. System Call Back Method와 Android Life Cycle 관련된 Method들은 전부 Main Thread에거 관리되어야 한다.

 

 

 

위에 해당하는 글들에서 계속 다루듯, 복잡한 연산, 지연되는 작업들의 경우 Main Thread에서 이뤄질 경우 ANR(Application Not Responding, UI 관련 작업이 일정기간 이상 반응되지 못하면 발생)이 발생하여 애플리케이션이 강제로 종료되는 경우가 발생한다.

 

이러한 문제점을 막기 위해 불안정한 UI 관련 작업, 비동기 작업, 비용이 높은 연산 작업 등은 전부 Work Thread를 따로 만들어 처리한다. (예를 들어, 애니메이션 작업, 데이터베이스 처리, 복잡한 연산...)

 

하지만 View 등의 UI 관련 컴포넌트를 업데이트 하는 작업은 UI Thread에서 진행되어야 한다. 애니메이션이나 비동기 작업을 수행하는데 UI를 수정해야할 경우 이 작업은 Async Task 등을 사용한다.

 

https://small-stepping.tistory.com/949

 

코루틴 동기와 비동기, 코루틴 용어

1. 코루틴 동기와 비동기뛰어난 사용자 경험을 제공하기 위해서는 동시 실행이라는 중요한 기술이 필요하다. 동시 실행이란, 앱에서 여러 태스크를 동시에 실행하는 것이다. 예를 들어, 앱은 웹

small-stepping.tistory.com