Title : Android Handler
Handler에 대한 개념 이미지
구글링 중 Handler가 무엇인지 이해하기 쉬운 이미지 중 하나를 가져왔다.
이미지에 포함된 각 구성을 하나씩 살펴보자.
Message Queue
작업 요청(Message 혹은 Runnalbe)을 저장하며, 먼저 들어온 요청을 먼저 처리하는
FIFO(First In First Out) 구조
* Message : 데이터 전달을 위한 객체
* Runnable : 실행할 코드 블록을 담는 인터페이스
Looper
ㆍMessage Queue를 모니터링하며, 작업 요청이 있을 경우 이를 꺼내 Handler를 통해
처리되도록 연결하는 클래스이다.
ㆍ각 스레드는 고유한 Looper를 가지며, UI 스레드(메인 스레드)는 기본적으로 Looper를 포함한다.
ㆍLooper는 무한 루프를 돌며 Message Queue를 지속적으로 확인하기에, 중단하기 위해서는
Looper.quit()을 호출해야 한다.
Handler
Runnable 객체를 post 함수로 전달하여 실행하거나, Message를 sendMessage 혹은
sendEmptyMessage 함수로 Message Queue에 전달한다.
이후 Looper가 Message Queue에서 작업 요청을 꺼내 Handler의 handleMessage 함수로 처리한다.
단어 사전
[1] :
[2] :
Reference :
- https://brunch.co.kr/@mystoryg/84
-
-
'2024.10~ > Java Android' 카테고리의 다른 글
[AOS] 동영상 재생을 위한 두 가지 클래스 비교 VideoView vs SurfaceView+MediaPlayer (0) | 2024.11.10 |
---|---|
[JAVA] 자바 쉘 명령어 실행 방법 (0) | 2024.10.26 |