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

前言

Android开发的多线程应用场景中,Handler机制十分常用,今天,我将图文详解 Handler机制 的工作原理,希望你们会喜欢

Anroid异步通信Handler系列文章
Android异步通信:Handler机制学习攻略
Android异步通信:Handler使用教程
Android异步通信:Handler工作原理
Android异步通信:Handler源码分析
Android异步通信:详解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机制的工作原理进行了全面讲解
  • 下一篇文章我将对讲解Android Handler的相关知识,感兴趣的同学可以继续关注Carson_Ho的简书

Anroid异步通信Handler系列文章
Android异步通信:Handler机制学习攻略
Android异步通信:Handler使用教程
Android异步通信:Handler工作原理
Android异步通信:Handler源码分析
Android异步通信:详解Handler内存泄露的原因


欢迎关注Carson_Ho的简书

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度


请点赞!因为你的鼓励是我写作的最大动力!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容