1. 程式人生 > >Handler寫在主執行緒中,使用Message傳遞訊息

Handler寫在主執行緒中,使用Message傳遞訊息

Runnable是一個介面,Thread是Runnable的子類。

  1. Message
    Message 是線上程之間傳遞的訊息,它可以在內部攜帶少量的資訊,用於在不同執行緒之間交換資料。
  2. Handler
    Handler處理者,它主要是用於傳送和處理訊息的。傳送訊息一般是使用 Handler 的 sendMessage()方法,而發出的訊息經過一系列地輾轉處理後,最終會傳遞到 Handler 的 handleMessage()方法中。
 //在主執行緒中建立一個Handler
 Handler handler=new Handler(){
        @Override
        //處理訊息
public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 0x123: break; } } };
//向Hanlder傳送空訊息
handler.sendEmptyMessage(0x123);
//使用Message傳遞資訊給Handler
//也可用靜態方法獲取Message物件,Message
.obtain(); Message message = new Message(); //設定what欄位 message.what =0x123; //傳送一個包含資料Message物件 andler.sendMessage(message);