posts - 101,  comments - 29,  trackbacks - 0
          Handler 為Android操作系統中的線程通信工具,包為android.os.Handler。

          與Handler綁定的有兩個隊列,一個為消息隊列,另一個為線程隊列。Handler可以通過這兩個隊列來分別:

          1. 發送、接受、處理消息–消息隊列;
          2. 啟動、結束、休眠線程–線程隊列;

          Android OS中,一個進程被創建之后,主線程(可理解為當前Activity)創建一個消息隊列,這個消息隊列維護所有頂層應用對象(Activities, Broadcast receivers等)以及主線程創建的窗口。你可以在主線程中創建新的線程,這些新的線程都通過Handler與主線程進行通信。通信通過新線程調用 Handler的post()方法和sendMessage()方法實現,分別對應功能:

          1. post()  將一個線程加入線程隊列;
          2. sendMessage() 發送一個消息對象到消息隊列;

          當然,post()方法還有一些變體,比如postDelayed()、postAtTime()分別用來延遲發送、定時發送;

          消息的處理,在主線程的Handler對象中進行;具體處理過程,需要在new Handler對象時使用匿名內部類重寫Handler的handleMessage(Message msg)方法;

          從消息隊列中獲取消息。

          線程加入線程隊列可以在主線程中也可以在子線程中進行,但都要通過主線程的Handler對象調用post()。

           



          posted on 2012-01-25 20:20 mixer-a 閱讀(233) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 洪湖市| 渑池县| 卓尼县| 广水市| 同江市| 惠安县| 永安市| 松潘县| 乌鲁木齐县| 通渭县| 镇江市| 开封市| 扶绥县| 廉江市| 兰州市| 遵义县| 宣恩县| 湘潭县| 顺昌县| 勃利县| 玉田县| 武隆县| 高州市| 正镶白旗| 二连浩特市| 贵港市| 静安区| 云龙县| 松江区| 南岸区| 游戏| 慈利县| 祥云县| 牡丹江市| 广水市| 甘孜县| 定安县| 师宗县| 冕宁县| 南郑县| 小金县|