본문 바로가기

모바일애플리케이션개발

안드로이드 스튜디오 쓰레드를 배워보자!

Thread


앱이 실행되면 기본적으로 하나의 프로세스가 생성되면 하나의 Main Thread(UI Thread)가 생성된다.


Main Thread의 작업시간이 길어지거나, 네트워크요청등이 발생되면 안드로이드 플랫폼에서 앱이중단되었다고 판단하여 ANR대화상자를 띄어서 사용자에게 종료할 것인지 물어본다.


시간이 많이걸리는일이나 Network 작업은 ANR이 발생하지않도록 Sub Thread를 생성하여 처리하게 됨.


여기서 주의할 점은 UI 변경에 대한 작업은 Main Thread에서만 가능


Thread 생성 방법





Handler 활용 (일정시간 후 실행)

3초 후 실행 코드



Handler 활용 (1초마다 숫자 늘어나기)



Thread Handler간의 통신




AsyncTask는 백그라운드 작업을 쉽고 간단하게 할수 있다.


Main Thread에서 생성하고 호출해야하며

생성 후 실행은 단 한 번만 가능하다.

Execute()와 cancel 함수만 호출 가능하다.