什麼是HandlerLooper

1. HandlerLooperMessageQueue是組成「消息傳遞機制」的重要原素。

2. Handler是一個類,其負責把消息物件「加到」消息隊列(其又可稱為訊息佇列MessageQueue,為採用先進先出法的隧道)裡。

3. Looper負責不斷地將消息物件從消息隊列中「取出」來。而如果消息隊列中無消息物件的話,則Looper會造成阻塞,即等待的狀態

 

HandlerLooperMessageQueue的基本原理

 06_Handler、Looper和MessageQueue的基本原理.jpg  

運行步驟:

1. Handler把消息物件放到消息隊列之中。

2. Looper不斷地於消息隊列的頭部向外取出消息物件。

3. Looper將會找到與消息物件對應的Handler物件

4. Looper將會調用Handler物件中的handleMessage(Message msg)方法去處理該消息物件。

 

一個簡單的Handler例子

1. 實例的作用:當使用者點擊按鈕時,將創建一個消息物件,並使用Handler發送該物件。

06_activity_main.jpg

06_MainActivity.jpg

06_控制台結果.jpg  

 

 

arrow
arrow

    Elsa 發表在 痞客邦 留言(0) 人氣()