Android學習-Handler

Alichacha發表於2018-09-18

ActivityThread main preMainLooper()建立一個Looper並且把這個Looper跟當前的執行緒繫結在一起 又建立了一個訊息佇列 訊息佇列對應一個Looper.

Looper.loop();

  • Looper輪詢器 訊息汞 用來取出訊息就呼叫handler的handleMessage方法處理訊息
  • MessageQueue訊息佇列 用來管理訊息 對訊息進行排序 排序的順序是按訊息執行的先後時間進行排序
  • Handler sendMessage發訊息 sendMessageAtTime(Message msg, long time)->通過MessageQueue對訊息進行排序 handleMessage處理訊息
  • Message訊息 可以使用Message.obtain方法來獲取訊息 可以利用系統設計的訊息池 Message obj 可以攜帶引數

相關文章