Android Handler訊息傳遞機制:圖文解析工作原理

Carson_Ho發表於2019-03-04

Android Handler訊息傳遞機制:圖文解析工作原理

前言

  • Android開發的多執行緒應用場景中,Handler機制十分常用

  • 今天,我將圖文詳解 Handler機制 的工作原理,希望你們會喜歡


目錄

示意圖


1. 定義

一套 Android 訊息傳遞機制


2. 作用

在多執行緒的應用場景中,將工作執行緒中需更新UI的操作資訊 傳遞到 UI主執行緒,從而實現 工作執行緒對UI的更新處理,最終實現非同步訊息的處理

示意圖


3. 為什麼要用 Handler訊息傳遞機制

  • 答:多個執行緒併發更新UI的同時 保證執行緒安全
  • 具體描述如下

示意圖


4. 相關概念

關於 Handler機制中的相關概念如下:

在下面的講解中,我將直接使用英文名講解,即 HandlerMessageMessage QueueLooper,希望大家先熟悉相關概念

示意圖


5. 工作原理 解析

下面,我將定性地講解Handler機制的工作流程

5.1 工作流程解析

Handler機制的工作流程主要包括4個步驟:

  1. 非同步通訊準備
  2. 訊息傳送
  3. 訊息迴圈
  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的安卓開發筆記

請點贊!因為你的鼓勵是我寫作的最大動力!

相關文章