前言
在 Android 开发的多线程应用场景中, Handler 机制十分常用
今天, 我将图文详解 Handler 机制 的工作原理, 希望你们会喜欢
目录
1. 定义
一套 Android 消息传递机制
2. 作用
在多线程的应用场景中, 将工作线程中需更新 UI 的操作信息 传递到 UI 主线程, 从而实现 工作线程对 UI 的更新处理, 最终实现异步消息的处理
3. 为什么要用 Handler 消息传递机制
答: 多个线程并发更新 UI 的同时 保证线程安全
具体描述如下
4. 相关概念
关于 Handler 机制中的相关概念如下:
在下面的讲解中, 我将直接使用英文名讲解, 即 HandlerMessageMessage QueueLooper, 希望大家先熟悉相关概念
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 机制的工作原理进行了全面讲解
来源: https://juejin.im/post/5a80dfe4f265da4e9b591002