android消息隊列機制(Handler)

大家應該都知道,在android中子線程是無法進行UI操作的,如果想要使得主線程能夠操作UI元素,我們應該怎麼做呢?針對於這個我簡單的講解一下android中消息隊列機制。


消息隊列機制(如上圖所示)
*主線程創建時,系統會同時創建消息隊列對象(MessageQueue)和消息輪詢器對象(Looper)
* 輪詢器的作用,就是不停的檢測消息隊列中是否有消息(Message)
* 消息隊列一旦有消息,輪詢器會把消息對象傳給消息處理器(Handler),處理器會調用handleMessage方法來處理這條消息,handleMessage方法運行在主線程中,所以可以刷新ui
* 總結:只要消息隊列有消息,handleMessage方法就會調用
* 子線程如果需要刷新ui,只需要往消息隊列中發一條消息,觸發handleMessage方法即可
* 子線程使用處理器對象的sendMessage方法發送消息

希望以上的講解,能幫到大家!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章