【Android面试八股文】Framework面试:Handler怎么进行线程通信的?原理是什么?

devtools/2024/10/20 20:43:59/

文章目录

Handler_1">Handler整体思想

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

在这里插入图片描述

Handler_5">Handler工作流程

Handler 机制的工作流程主要包括4个步骤:

  1. 异步通信准备
  2. 消息发送
  3. 消息循环
  4. 消息处理

具体如下所示:

在这里插入图片描述

Handler_19">Handler工作流程图

如下图所示,handler的总体流程大致如下:
在这里插入图片描述

  • 首先,系统通过调用 Looper.prepare()为线程准备Looper 和承接MessageMessageQueue
  • 然后,系统再调用Looper.loop()

http://www.ppmy.cn/devtools/55823.html

相关文章

计算机网络 | 第三章数据链路层

数据链路层的功能: 组帧 五个连续的1添加0 差错控制 奇校验只能查到有奇数个的比特差错 循环检验码 根据多项式最高位的系数给被除数补几个0,除数是多项式的系数,有为1 ,没有为0,除法是异或运算,相同为0&a…

计算机视觉全系列实战教程 (十四):图像金字塔(高斯金字塔、拉普拉斯金字塔)

1.图像金字塔 (1)下采样 从G0 -> G1、G2、G3 step01:对图像Gi进行高斯核卷积操作(高斯滤波)step02:删除所有的偶数行和列 void cv::pyrDown(cv::Mat &imSrc, //输入图像cv::Mat &imDst, //下采样后的输出图像cv::Si…

惯性级惯导的定位漂移估算

一般来说,惯性级陀螺仪指的是0.01度/小时的零偏稳定性(是否可以作为等效常值漂移呢?),其定位误差大约为1海里每小时,其具体估算方法可见秦永元老师的《惯性导航》一书中静基座下系统误差传播特性分析一节内…

绕过命令过滤器:探索UnixLinux中的Bypass技术

前言 在Unix或Linux系统的安全测试和网络防御中,了解如何绕过命令过滤器是非常重要的。今天,我们将探讨几种利用shell命令绕过安全限制的技巧,这些技巧常用于渗透测试中,以检测系统的安全漏洞。 0x00 命令介绍 一般而言&#x…

Web前端基础知识

C/S结构 cilent 客户端 / Server 服务器 B/S结构 Brower 浏览器 / Server 服务器 java属于后端语言,多用于开发服务器端程序 学习一些网页知识,为程序提供操作页面 网页开发学习那些内容? html css JavaScript 两个框架 VUE.js E…

Web前端第四次作业

目录 一、编写一个函数,形参是一个数组,返回数组中所有数字的平均值 二、编写一个函数,形参是一个数组,返回数组中的最大值 三、编写一个函数,形参是一个字符串,统计该字符串中每个字母出现的次数&#…

idea添加文档注释

一、easy javadoc插件 在settings的plugins中下载easy javadoc插件。 安装完成后重启idea,再次打开settings界面。会出现easyDoc相关配置。 二、设置模版以及使用 类描述模版参考设置: /** * 类描述 -> * * Author: ywz * Date: $Date$ */ 方法描述…

Excel 将某个序列随机重排 N 次

A 列是个随机序列,B2 格是参数,表示重排的次数。 AB1ItemsReplicates2A23B4C5D 要求将 A 列重拍 N 次 D1Result2C3D4B5A6D7A8B9C 使用 SPL XLL,输入公式: spl("?2.conj(?1.sort(rand()))",A2:A5,B2)"整数.()…