Android异步通信:图文详解Handler机制工作原理

1. 定义

一套 Android 消息传递机制

2. 作用

在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现工作线程对UI的更新处理,最终实现异步消息的处理:
Android异步通信:图文详解Handler机制工作原理_第1张图片

3. 为什么要用 Handler消息传递机制

  • 答:多个线程并发更新UI的同时保证线程安全
  • 具体描述如下

Android异步通信:图文详解Handler机制工作原理_第2张图片

4. 相关概念

关于 Handler机制中的相关概念如下:

在下面的讲解中,我将直接使用英文名讲解,即 HandlerMessageMessageQueueLooper,希望大家先熟悉相关概念

Android异步通信:图文详解Handler机制工作原理_第3张图片
5. 工作原理 解析

下面,我将定性地讲解Handler机制的工作流程

5.1 工作流程解析

Handler机制的工作流程主要包括4个步骤:

  1. 异步通信准备
  2. 消息发送
  3. 消息循环
  4. 消息处理

具体如下图:

Android异步通信:图文详解Handler机制工作原理_第4张图片
5.2 工作流程图
Android异步通信:图文详解Handler机制工作原理_第5张图片
5.3 示意图

Android异步通信:图文详解Handler机制工作原理_第6张图片
5.4 特别注意

线程(Thread)、循环器(Looper)、处理者(Handler)之间的对应关系如下:

  • 1个线程(Thread)只能绑定 1个循环器(Looper),但可以有多个处理者(Handler
  • 1个循环器(Looper) 可绑定多个处理者(Handler
  • 1个处理者(Handler) 只能绑定1个循环器(Looper

Android异步通信:图文详解Handler机制工作原理_第7张图片
至此,关于Handler的异步消息传递机制的工作原理讲解完毕。

你可能感兴趣的:(Android进程框架)