handler機制原理全面整理

2021-06-28 14:45:30 字數 431 閱讀 3079

1、handler用的最多是子執行緒傳送訊息到主線程修改ui

2、首先通過message中的obtain()從訊息池中獲取訊息物件

3、然後要建立handler物件,在handler的構造方法中就會得到輪詢器looper和訊息佇列,這個looper物件和訊息佇列是主線程建立的時候建立的,輪詢器就不斷的輪詢訊息佇列中的訊息。

4、然後子執行緒中用handler物件,呼叫sendmessage(),傳送訊息,至於傳送到哪,在handler類的原始碼中其實所有sendmessageattime(),把訊息重新通過排序放到訊息佇列中

5、訊息佇列中的訊息是怎麼排序的,是根據message的when屬性來排序

6、然後輪詢器子輪詢訊息佇列的時候,呼叫dispatchmessage()分發訊息,交給handlemessage()處理

7、從而實現了從子執行緒向主線程傳送訊息

Handler機制整理

handler機制整理 目錄介紹 1.關於handler訊息機制圖 2.關於handler基本介紹 3.使用handler的幾種方法 4.關於handler底層原始碼解讀 1.關於handler訊息機制圖 2.關於handler機制基本解讀 message 訊息,其中包含了訊息id,訊息處理物件以及...

handler機制的原理

andriod提供了handler 和 looper 來滿足執行緒間的通訊。handler先進先出原則。looper類用來管理特定執行緒內物件之間的訊息交換 messageexchange 1 looper 乙個執行緒可以產生乙個looper物件,由它來管理此執行緒裡的messagequeue 訊息...

handler機制原理 看完就明白系列

handler handler new handler message msg handler.obtainmessage handler.sendmessage msg 1 第一步 建立handler 物件,new handler public class handler public handl...