图文详解Android Handler通信机制的工作原理

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45136073/article/details/96502660

前言

  • Android开发的多线程应用场景中,Handler机制十分常用

  • 本文就图文详解一下 Handler机制 的工作原理


目录

image


1. 定义

一套 Android 消息传递机制


2. 作用

在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理

image


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

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

image


4. 相关概念

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

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

image


5. 工作原理 解析

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

5.1 工作流程解析

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

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

具体如下图:

image

5.2 工作流程图

image

5.3 示意图

image

5.4 特别注意

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

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

image

至此,关于Handler的异步消息传递机制的工作原理 讲解完毕。


6. 总结

  • 本文对Handler机制的工作原理进行了全面讲解

最后

如果你看到了这里,觉得文章写得不错就点个赞呗?转发分享关注一下我,以后还会更新技术干货,谢谢您的支持!如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

有一句老话说的好:
“比你优秀的对手在学习,你的仇人在磨刀,你的闺蜜在减肥,隔壁老王在练腰,我们必须不断学习,否则我们将被学习者超越。”
当然一个人学习是枯燥的,还需要一个良好的学习氛围,因此我组建了一个学习交流探讨的社群,欢迎大家一起来交流探讨共同进步。还有一些收集整理的资料,感兴趣的可以来一起学习,共同进步!

针对Android开发的同行,这边给大家整理了一些资料,其中分享内容包括但不限于
【高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术】
希望能帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也是可以分享给身边好友一起学习的!

转发+点赞,加入Android开发交流群(820198451)获取小编为大家收录的进阶资料和面试题库

在这里插入图片描述

转发+点赞,加入Android开发交流群(820198451)获取小编为大家收录的进阶资料和面试题库

Android架构师之路很漫长,一起共勉吧!

展开阅读全文

没有更多推荐了,返回首页