- Message: 是 Handler 接收和處理的消息對象
- Looper: 每個(gè)線程只能有一個(gè) Looper. 它的 loop 方法負(fù)責(zé)讀取 MessageQueue 中的消息, 讀到消息之后就把消息交給發(fā)送該消息的 Handler 進(jìn)行處理.
- MessageQueue: 消息隊(duì)列. 它采用先進(jìn)先出的方式來管理 Message. 程序創(chuàng)建 Looper 對象時(shí), 會在它的構(gòu)造器中創(chuàng)建 MessageQueue 對象.
- Handler: 在新啟動(dòng)的線程中發(fā)送消息, 在主線程中獲取處理消息.
當(dāng)新啟動(dòng)的線程發(fā)送消息時(shí), 消息會發(fā)送到與之關(guān)聯(lián)的 MessageQueue, 而 Handler 會不斷地從 MessageQueue 中獲取并處理消息. 這將導(dǎo)致 Handler 類中處理消息的方法被回調(diào). 這個(gè)方法處于主線程, 從而更新 UI.
更多建議: