美文网首页AndroidAndroid学习android开发技巧
Android Handler:图文解析 Handler通信机制

Android Handler:图文解析 Handler通信机制

作者: Carson带你学安卓 | 来源:发表于2018-03-07 09:00 被阅读3092次

    前言

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

    • 今天,我将图文详解 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的安卓开发笔记

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

    相关文章阅读
    Android开发:最全面、最易懂的Android屏幕适配解决方案
    Android事件分发机制详解:史上最全面、最易懂
    Android开发:史上最全的Android消息推送解决方案
    Android开发:最全面、最易懂的Webview详解
    Android开发:JSON简介及最全面解析方法!
    Android四大组件:Service服务史上最全面解析
    Android四大组件:BroadcastReceiver史上最全面解析


    欢迎关注Carson_Ho的简书!

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

    相关文章

      网友评论

      • heavyRain:messagequeue 先进先出 不太对吧,它是以时间顺序排列的链表啊.
        kangaroo9997:@heavyRain 你延时执行,算是加入到messagequeue 里面了吗?没太懂你的疑问?
        heavyRain:@kangaroo9997 messagequeue的实现是以时间顺序排列的链表,并不一定先进先出,比如我发个延时消息.明显不是队列的队尾进队头出,具体的话你去看下messagequeue源码实现
        kangaroo9997:和 什么链表数组有关系吗?队列它的基本实现就是,先进先出。
      • 肖霞子:你好,“一个Looper可以绑定多个线程的Handler”和“多个线程可以往一个Looper所持有的MessageQuene中发消息,提供了线程间通信的可能”,这两句有点绕啊,说的是Handler可以是线程定义的,但是new的时候Looper传的是其他线程的Looper,这样就可以不用在其他线程里定义Handler。看了几遍才看懂。谢谢
      • 不羞不止:还是说的比较浅显,从invalidate 和 屏幕刷新机制那里讲更通透
      • Ford_:666见过 说的最清楚的👍
      • 全汪汪:为什么都问用什么画图,这是技术类文章,你要问左转画画贴吧
      • 獠牙血狼:5.4 第三点是不是多了个“一个”啊
      • 9d13dac0b326:大神 用什么画的图呀!!! 为你点赞 你的文章质量都很高
      • ea49348744e0:大神,用什么画的图呀
      • Alien的小窝:用什么画的图?

      本文标题:Android Handler:图文解析 Handler通信机制

      本文链接:https://www.haomeiwen.com/subject/wqruaxtx.html