Android異步通信:圖文解析 Handler通信機制的工作原理

前言

Android開發(fā)的多線程應(yīng)用場景中,Handler機制十分常用,今天,我將圖文詳解 Handler機制 的工作原理,希望你們會喜歡

Anroid異步通信Handler系列文章
Android異步通信:Handler機制學(xué)習(xí)攻略
Android異步通信:Handler使用教程
Android異步通信:Handler工作原理
Android異步通信:Handler源碼分析
Android異步通信:詳解Handler內(nèi)存泄露的原因


目錄

示意圖

1. 定義

一套 Android 消息傳遞機制


2. 作用

在多線程的應(yīng)用場景中,將工作線程中需更新UI的操作信息 傳遞到 UI主線程,從而實現(xiàn) 工作線程對UI的更新處理,最終實現(xiàn)異步消息的處理

示意圖


3. 為什么要用 Handler消息傳遞機制

  • 答:多個線程并發(fā)更新UI的同時 保證線程安全
  • 具體描述如下
示意圖

4. 相關(guān)概念

關(guān)于 Handler機制中的相關(guān)概念如下:

在下面的講解中,我將直接使用英文名講解,即 Handler、Message、Message Queue、Looper,希望大家先熟悉相關(guān)概念

示意圖

5. 工作原理 解析

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

5.1 工作流程解析

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

  1. 異步通信準(zhǔn)備
  2. 消息發(fā)送
  3. 消息循環(huán)
  4. 消息處理

具體如下圖:

示意圖

5.2 工作流程圖

示意圖

5.3 示意圖

示意圖

5.4 特別注意

線程(Thread)、循環(huán)器(Looper)、處理者(Handler)之間的對應(yīng)關(guān)系如下:

  • 1個線程(Thread)只能綁定 1個循環(huán)器(Looper),但可以有多個處理者(Handler)
  • 1個循環(huán)器(Looper) 可綁定多個處理者(Handler)
  • 1個處理者(Handler) 只能綁定1個1個循環(huán)器(Looper)
示意圖

至此,關(guān)于Handler的異步消息傳遞機制的工作原理 講解完畢。


6. 總結(jié)

  • 本文對Handler機制的工作原理進行了全面講解
  • 下一篇文章我將對講解Android Handler的相關(guān)知識,感興趣的同學(xué)可以繼續(xù)關(guān)注Carson_Ho的簡書

Anroid異步通信Handler系列文章
Android異步通信:Handler機制學(xué)習(xí)攻略
Android異步通信:Handler使用教程
Android異步通信:Handler工作原理
Android異步通信:Handler源碼分析
Android異步通信:詳解Handler內(nèi)存泄露的原因


歡迎關(guān)注Carson_Ho的簡書

不定期分享關(guān)于安卓開發(fā)的干貨,追求短、平、快,但卻不缺深度。


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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容