안드로이드 스레드(2)

·2021년 11월 8일
0

안드로이드

목록 보기
12/17

AsyncTask

메인 스레드와 작업 스레드의 역할 분담에 대한 구현을 보다 쉽게 해주는 대표적인 클래스
앱 하나를 구현하면서 꼭 한 번쯤은 사용될 만큼 활용도가 높다.

1. AsyncTask는 총 다섯 가지 재정의 가능한 함수로 구성. dolnBackground()는 반드시 구현해야함
2. AsyncTask는 내부적으로 작업 스레드를 하나 생성하고 실행함.
3. 생성된 작업 스레드는 재정의된 dolnBackground함수를 실행함.
4. 나머지 네 개의 재정의 함수는 메인 스레드가 실행함. 이 함수들은 핸들러를 통해 작업 스레드가 아닌 메인 스레드에서 실행됨. 즉, 내부적으로 핸들러를 생성하고 관리하고 있다는 의미

  • 핵심 : 큰 작업을 구동하기 위해 5개의 재정의 함수를 메인 스레드와 작업 스레드로 분리해서 실행함
  • 용도
    오래 걸리는 일은 작업 스레드의 dolnBackground 함수로 구현함.
    화면에 그리는 일은 메인 스레드에서 실행되는 나머지 네 가지 함수로 구현함
  • 생명주기
    생명주기 상태 마다 실행되는 함수들이 정의됨
    5개 함수가 생명주기 함수에 해당한다.

CountDownTimer


Timer와 TimerTask

특정 작업들을 주기적으로 실행해주는 클래스

  • 타이머 동작
    Thread를 상속받은 클래스
    내부적으로 여러 개의 TimerTask를 배열로 관리함.
    주기에 해당하는 TimerTask를 실행함
  • 타이머 용도 : 특정 일을 주기적으로 처리하고자 할 때 유용하다.
  • 유의 사항 : Timer는 작업 스레드에서 처리되기 때문에 화면에 그리는 작업은 핸들러를 이용하여 메인 스레드로 메시지를 전달해야 한다.
profile

0개의 댓글