Handler
Android消息機制主要指的是Handler運行機制,Handler底層需要MessageQueue和Looper的支撐。
Handler是android提供給我們的一套更新UI的機制,也是一套消息處理機制,我們可以用它來發(fā)送消息,也可以用來處理消息。
MessageQueue
消息隊列,內(nèi)部存儲一組消息,以隊列的形式對外提供插入和刪除工作。包括兩個方法enqueueMessage和next,enqueueMessage主要操作為單鏈表的插入操作,next為無線循環(huán)的的方法,當沒有消息的時候,會進去阻塞狀態(tài),當新消息來到的時候,next會返回這個消息并且立馬從單鏈表里面移除。
Looper
MessageQueue存儲消息但是不能去處理消息,所以Looper就是為了去處理消息而存在的。Looper無限循環(huán)的去查詢是否有新消息,如果有立刻處理,否則就阻塞。
ThreadLocal
線程內(nèi)部的數(shù)據(jù)存儲類,根據(jù)線程的不同去存儲數(shù)據(jù)。