美文网首页Android开发Android开发Android技术知识
Android Handler通信机制的工作原理

Android Handler通信机制的工作原理

作者: 像程序那样思考 | 来源:发表于2019-07-17 15:50 被阅读6次

    前言

    • 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架构师之路很漫长,一起共勉吧!
    ——————分割线——————
    简书点赞可以有好几种赞,长按点赞按钮就会有选项,大家点赞的时候,麻烦点个超赞,让我感受下这个功能……

    相关文章

      网友评论

        本文标题:Android Handler通信机制的工作原理

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