当前位置: 首页 > article >正文

Android --- handler详解

handler 理解

 handler 是一套Android 消息传递机制,主要用于线程间通信。

tips: binder/socket 用于进程间通信。

参考:

Android 进程间通信-CSDN博客

handler 就是主线程在起了一个子线程,子线程运行并生成message ,looper 获取message 并传递给handler ,handler 逐个获取子线程中的message 。

相关概念

Handler       Message      MessageQueue       looper   ThreadLocal

Handler

handler : 消息真正的处理者,具备获取消息,发送消息,处理消息,移除消息等功能。

Message

Message ( C层和java层都有实现 ): 代表一个行为 what 或者一串runnable ,每一个消息加入队列都有明确的目标handler 。

MessageQueue

MessageQueue( C层和java层都有实现 ) :以队列形式对外提供插入和删除工作,其内部是单向链表形式存储消息。 

Looper

Looper :looper 是循环的意思,它负责消息循环队列中取出消息交给handler 。

ThreadLocal

ThreadLocal: 线程本地存储(Thread local storage  简称: tsl) 每个线程都有自己私有的本地本地存储区域。不同线程之间不能访问对方的本地存储区域。意思就是线程隔离。

handler原理

实际使用讲解

结束。


http://www.kler.cn/a/530605.html

相关文章:

  • C++底层学习预备:模板初阶
  • C语言教学第四课:控制结构
  • PaddleOCR 截图自动文字识别
  • 基于人脸识别的课堂考勤系统
  • 62.病毒在封闭空间中的传播时间|Marscode AI刷题
  • C#面试常考随笔9:什么是闭包?
  • Kanass基础教程-创建项目
  • 【tiktok 国际版抖抖♬♬ __ac_signature算法】逆向分析
  • 11.kafka开启jmx
  • LeetCode 0598.区间加法 II:最小值
  • 洛谷 P5146 最大差值 C语言
  • 力扣第435场周赛讲解
  • .事件传参与数据同步,条件渲染,列表渲染
  • javaweb实训:购物商城系统项目
  • MQTT知识
  • (万字长文)C++17中的未初始化内存算法:深度解析与实战应用
  • Baklib在内容中台智能化推荐系统中的应用与未来发展路径分析
  • 学习串行通信
  • 记8(高级API实现手写数字识别
  • GPIO配置通用输出,推挽输出,开漏输出的作用,以及输出上下拉起到的作用
  • Shell篇-字符串处理
  • Windows编译FreeRDP步骤
  • 视觉状态空间模型(VMamba)的解读
  • RouterChain
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.5 高级索引应用:图像处理中的区域提取
  • 【Block总结】完全注意力Fully Attentional,同时捕捉空间和通道的注意力|即插即用