前言
在 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 机制的工作原理进行了全面讲解
下面我将继续深入讲解 Android 中的 Handler 异步通信传递机制的相关知识, 如 使用教程源码解析等, 有兴趣可以继续关注 Carson_Ho 的安卓开发笔记
请点赞! 因为你的鼓励是我写作的最大动力!
来源: http://www.jianshu.com/p/f0b23ee5a922