• Android开发:图文分析 Handler通信机制 的工作原理


    前言

    • 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.3 示意图

    5.4 特别注意

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

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

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


    6. 总结

  • 本文对Handler机制的工作原理进行了全面讲解
  • 相关阅读:
    【redis】redis的 key的命名规则
    【redis】存入redis的值,如果为null是否默认不被存入
    【java】StringBuilder的三种清除方法对比
    【java】hash一致性算法的实现区别【标题暂定】
    【java】Java中十六进制转换 Integer.toHexString()到底做了什么?什么时候会用到它?为什么要用它?byte为什么要&0xff?为什么要和0xff做与运算?
    【java】TreeMap/HashMap的循环迭代中 keySet和entrySet和forEach方式 + map的几种迭代方式
    【java】Map、Set、List不同数据结构的各种不同循环迭代的效率对比,使用场景
    【java】安全加密MessageDigest的功能及用法【hash一致性算法】
    hbase分布式集群搭建
    hadoop分布式集群搭建
  • 原文地址:https://www.cnblogs.com/JasonLGJnote/p/11159859.html
  • Copyright © 2020-2023  润新知