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 閱讀(235) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 旅游| 红河县| 双鸭山市| 成武县| 英超| 禹城市| 化隆| 南江县| 台东县| 张北县| 秭归县| 扶绥县| 安宁市| 南涧| 井冈山市| 全南县| 长沙县| 济阳县| 台安县| 临猗县| 巨鹿县| 长武县| 自贡市| 廊坊市| 卢湾区| 深圳市| 沂源县| 静安区| 那曲县| 磴口县| 泰和县| 舟曲县| 韶关市| 顺义区| 中西区| 石狮市| 申扎县| 昌平区| 定安县| 华亭县| 长阳|