Android中Looper/Handler學習筆記

一. 消息驅動

     Android系統的java程序靠消息驅動來工作,其工作原理包括兩個部分:

  •      消息隊列,可以往消息隊列裏面投遞消息
  •      消息循環,從消息隊列中取出消息,處理消息

二. Looper/Handler作用

     Looper類用於封裝消息隊列和消息循環;

     Handler類用於封裝消息投遞、處理的一些接口。

三. Looper工作原理

      Looper的工作主要依靠兩個函數,prepare()和loop()。兩個函數都是static。

     Looper是實現牽扯到ThreadLocal的工作原理,參考  正確理解ThreadLocal

     prepare()函數 構造一個Looper對象,並且保存到線程的局部變量中。

     Looper對象中封裝了一個消息隊列。

     loop()函數是一個循環,用來獲取消息隊列,並從消息隊列中獲取消息來處理。

    

public class Handler {
...
    final MessageQueue mQueue;
    final Looper mLooper;
    final Callback mCallback;
    IMessenger mMessenger;
}

四. Handler工作原理

五. 小結

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