专栏名称: Carson_Ho
1. 简书认证作者、CSDN签约作者、稀土掘金专栏作者 2. 专注分享 Android开发干货 3. 博客地址 Github: https://github.com/Carson-Ho CSDN: http://blog.csdn.net/carson_ho 稀土掘金: https://juejin.im/user/58d4d9781b69e6006ba65edc
目录
相关文章推荐
开发者全社区  ·  什么叫专业捞女!? ·  昨天  
开发者全社区  ·  大疆今年的年终奖。。。 ·  昨天  
开发者全社区  ·  春节变成了出轨高发期...... ·  2 天前  
开发者全社区  ·  雪圈乱吗? ·  3 天前  
开发者全社区  ·  大佬与梁文锋第一次的接触 ·  3 天前  
51好读  ›  专栏  ›  Carson_Ho

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

Carson_Ho  · 简书  · android  · 2018-03-07 09:00

正文

前言

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

  • 今天,我将图文详解 Handler 机制 的工作原理,希望你们会喜欢


目录

示意图

1. 定义

一套 Android 消息传递机制


2. 作用

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

示意图


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

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

4. 相关概念

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

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

示意图

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的安卓开发笔记

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

相关文章阅读







请到「今天看啥」查看全文


推荐文章
开发者全社区  ·  什么叫专业捞女!?
昨天
开发者全社区  ·  大疆今年的年终奖。。。
昨天
开发者全社区  ·  春节变成了出轨高发期......
2 天前
开发者全社区  ·  雪圈乱吗?
3 天前
开发者全社区  ·  大佬与梁文锋第一次的接触
3 天前
新青年麻醉论坛  ·  我不是医生,写给是医生的你!
7 年前
国家人文历史  ·  Q&A | 为什么上海人那么爱说上海话?
7 年前