Android的Message Queue

1.  Message Queue的角色

 

l   在你的Android程式裡,新誕生一個線程,或稱執行緒(Thread)時,並不會自動建立其Message Loop

l   Android裡並沒有GlobalMessage Queue資料結構,例如,不同APK裡的物件不能透過Massage Queue來交換訊息(Message)

l   一個線程可以誕生一個Looper之物件,由它來管理此線程裡的Message Queue

l   你可以誕生Handler之物件來與Looper溝通,以便push新訊息到Message Queue裡;或者接收Looper(Message Queue取出)所送來的訊息。

l   線程AHandler物件參考可以傳遞給別的線程,讓別的線程BC等能送訊息來給線程A(存於AMessage Queue)

l   線程AMessage Queue裡的訊息,只有線程A所屬的物件可以處理之。

l   使用Looper.myLooper可以取得目前線程的Looper物件參考值。

l   使用mHandler = new EevntHandler(Looper.myLooper()); 可誕生用來處理目前線程的Handler物件;其中,EevntHandlerHandler的子類別。

l   使用mHandler = new EevntHandler(Looper.getMainLooper()); 可誕生用來處理main線程的Handler物件;其中,EevntHandlerHandler的子類別。

 

你可能感兴趣的:(thread,C++,c,android,C#)