概述:
很多android初學者對android 中的handler不是很明白,其實Google參考了Windows的消息處理機制,
在Android系統中實現了一套類似的消息處理機制。在下面介紹handler機制前,首先得了解以下幾個概念:
1. Message
消息,理解為線程間通訊的數據單元。例如后台線程在處理數據完畢后需要更新UI,則可發送一條包含更新信息的Message給UI線程。
2. Message Queue
消息隊列,用來存放通過Handler發布的消息,按照先進先出執行。
3. Handler
Handler是Message的主要處理者,負責將Message添加到消息隊列以及對消息隊列中的Message進行處理。
4. Looper
循環器,扮演Message Queue和Handler之間橋梁的角色,循環取出Message Queue里面的Message,並交付給相應的Handler進行處理。
5. 線程
UI thread 通常就是main thread,而Android啟動程序時會替它建立一個Message Queue。
每一個線程里可含有一個Looper對象以及一個MessageQueue數據結構。在你的應用程序里,可以定義Handler的子類別來接收Looper所送出的消息。
好了,下面是正文~