Android 메시지 대기열에 대한 간략한 분석
Android의 메시지 루프는 Windows 메시지 루프 메커니즘을 참조하여 구현됩니다.
메시지 큐 4종 세트? 메시지, 메시지큐, 루퍼, 핸들러
1. 메시지는 최대 10개까지 저장되므로 메시지 큐의 메시지 엔터티 클래스입니다. 메시지 큐 객체에서. 일반적으로 사용되는 속성은 메시지 본문의 태그이며, 메시지 본문이 무엇인지 구별하는 데 사용됩니다.
2. MessageQueue는 메시지를 선입선출 방식으로 저장하고 메시지 객체를 연결 목록으로 연결합니다.
3. Looper는 MessageQueue의 관리자입니다. 메인 스레드에서 이는 일대일 관계입니다. 하위 스레드가 메시지 큐를 사용해야 하는 경우 먼저 Looper.prepare() 메서드를 호출한 다음 Looper.loop()를 호출해야 합니다. >
4. Handler?는 메시지 객체를 캡슐화하고 처리합니다.
소스 코드에서 메시지가 다음과 같이 진행되는 것을 볼 수 있습니다.
handler.sendMessage()--> handler.sendMessageDelayed()-->handler.sendMessageAtTime( )-->msg.target = this;queue.enqueueMessage==>메시지 대기열에 메시지 추가