前言

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

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


目录


1. 定义

一套 Android 消息传递机制


2. 作用

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


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

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


4. 相关概念

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

在下面的讲解中,我将直接使用英文名讲解,即 HandlerMessage、www.taohuayuan178.com Message QueueLooper,希望大家先熟悉相关概念


5. 工作原理 解析

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

5.1 工作流程解析

Handler www.feifanyule.cn 机制的工作流程主要包括4个步骤: 
1. 异步通信准备 
2. 消息发送 
3. 消息循环 
4. 消息处理

具体如下图:

5.2 工作流程图

5.3 示意图

5.4 特别注意

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

  • 1个线程(Thread)www.yisengyuLe.com 只能绑定 1个循环器(Looper),但可以有多个处理者(Handler)
  • 1个循环器(Looper)www.120xh.cn 可绑定多个处理者(Handler)
  • 1个处理者(Handler)www.vboyule.cn   只能绑定1个1个循环器(Looper)

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


6. 总结

    • 本文对Handler机制的工作原理进行了全面讲解
    • 下面我将继续深入讲解 Android中的Handler异步通信传递机制的相关知识,如 使用教程、源码解析等,有兴趣可以继续关注Carson_Ho的安卓开发笔记

最新文章

  1. 几句话就能让你理解:this、闭包、原型链
  2. OD调试程序3
  3. Modem常用概念
  4. css考核点整理(八)-在什么情况下通过img引入图片,什么情况用背景图引入?背景属性有哪些
  5. IOS--当字符串返回的数据格式为xml/html时
  6. HDU 1164 Eddy's research I【素数筛选法】
  7. With our powers combined! xgboost and pipelearner
  8. 1.6 Why only in China?
  9. 20175312 2018-2019-2 《Java程序设计》第3周学习总结
  10. C/C++知识补充(2) C/C++操作符/运算符的优先级 & 结合性
  11. Swift 常量、变量、条件判断
  12. HTML5表单新属性
  13. linux服务器SSH破解预防方法
  14. HTML 样式 (style) 实例
  15. ActiveMQ队列特性:删除不活动的队列(Delete Inactive Destinations)
  16. oracle(九)索引扫描
  17. Spring MVC 视图及视图解析器
  18. Asp.Net Form验证不通过,重复登录(.net4,4.5form验证兼容性问题)
  19. jQuery--Excel插件js-xlsx
  20. idea 破解代码

热门文章

  1. 更新Composer依赖报错处理Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRe
  2. 用pathon实现计算器功能
  3. ruby Encoding
  4. Python3爬虫(四)请求库的使用requests
  5. java web相对路径和绝对路径总结
  6. python2.7练习小例子(二十七)
  7. Error: Error while compiling statement: FAILED: SemanticException Unable to determine if hdfs://hadoopNode2:8020/user/hive/warehouse/test is encrypted...
  8. loj2587 「APIO2018」铁人两项
  9. Python 3基础教程17-提问频率较高的几个Python问题
  10. storm_jdbc 最完整的版本