핸들러에 관련하여 이해가 되지 않는 부분이 있어 질문 남깁니다.


기본적으로 여러 웹페이지의 정보를 찾아 확인한 결과,


핸들러란 스레드 간의 메시지 전달을 위해 사용된다는 내용으로 이해를 했습니다.


스레드 밖의 sendMessage()가 스레드 안의 메시지큐로 메시지(Message or Runnable object)를 전달해주고,

Looper가 메시지큐에 들어온 메시지를 스레드 안에 있는 handleMessage()로 전달해줘서 처리를 하는 순서로 진행.


Q1. 여기서 Looper는 지속적으로 메시지큐 안에 메시지를 확인하나요?, 확인했을 때 없으면 아무일도 안하고, 메시지가 존재하면 바로바로 핸들러에게 전달을 해주는지 궁금합니다. 쉴새없이 계속 메시지큐를 확인한다면 스레드가 딴 일을 할 수가 없을 것 같은데 말이죠.


Q2. Q1과 이어지는 가장 기본적인 질문인데요. 하나의 액티비티 안에서 흐름을 따라갈때 핸들러는 언제 실행이 되는건가요?, 질문이 모호한데 예를 들어 액티비티 생명주기에선 onCreate->onStart->onResume ~~ 이렇게 진행되는데요. 이처럼 액티비티 순서가 지나갈 때  핸들러가 선언되어 있을 경우 언제 실행되는지 궁금합니다.


나름 핸들러란 이런것이다 이해를 하였는데, 위의 두가지 질문 사항과 제가 잘못 알고 있는 내용이 있는 경우 알려주시면 감사하겠습니다.