天天看點

Handler消息機制 筆記

這是筆記,沒有源碼分析和詳細過程,隻有自己總結出來的重點,源碼分析看參考資料,前輩寫的很好。

Handler消息機制 筆記

一個線程,一個Looper,一個MessageQueue,多個Handler

MessageQueue單連結清單結構

使用ThreadLocal機制保證一個線程一個Looper:https://www.cnblogs.com/--here--gold--you--want/p/15730088.html

記得在子線程中調用Looper.prepare建立Looper,調用Looper.loop()開始循環,調用Looper.quie()結束循環

Android主線程的Looper不用prepare,在ActivityThread就已經建立好了。

因為Looper.loop()是在子線程中調用,是以Handler的處理邏輯也就在子線程中進行了。

參考資料:

Android開發藝術探索:https://www.kancloud.cn/alex_wsc/android_art/1828638

面試:https://www2.imgeek.org/article/825358871