前言
-
在
Android
開發的多執行緒應用場景中,Handler
機制十分常用 -
今天,我將圖文詳解
Handler
機制 的工作原理,希望你們會喜歡
目錄
1. 定義
一套 Android
訊息傳遞機制
2. 作用
在多執行緒的應用場景中,將工作執行緒中需更新UI
的操作資訊 傳遞到 UI
主執行緒,從而實現 工作執行緒對UI
的更新處理,最終實現非同步訊息的處理
3. 為什麼要用 Handler
訊息傳遞機制
- 答:多個執行緒併發更新UI的同時 保證執行緒安全
- 具體描述如下
4. 相關概念
關於 Handler
機制中的相關概念如下:
在下面的講解中,我將直接使用英文名講解,即
Handler
、Message
、Message Queue
、Looper
,希望大家先熟悉相關概念
5. 工作原理 解析
下面,我將定性地講解Handler
機制的工作流程
5.1 工作流程解析
Handler
機制的工作流程主要包括4個步驟:
- 非同步通訊準備
- 訊息傳送
- 訊息迴圈
- 訊息處理
具體如下圖:
5.2 工作流程圖
5.3 示意圖
5.4 特別注意
執行緒(Thread)
、迴圈器(Looper)
、處理者(Handler)
之間的對應關係如下:
- 1個執行緒
(Thread)
只能繫結 1個迴圈器(Looper)
,但可以有多個處理者(Handler)
- 1個迴圈器
(Looper)
可繫結多個處理者(Handler)
- 1個處理者
(Handler)
只能繫結1個1個迴圈器(Looper)
至此,關於Handler
的非同步訊息傳遞機制的工作原理 講解完畢。
6. 總結
- 本文對
Handler
機制的工作原理進行了全面講解 - 下篇文章,我將繼續深入講解
Handler
非同步通訊傳遞機制的原始碼分析,有興趣可以繼續關注Carson_Ho的安卓開發筆記