问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

面试:Handler 的工作原理是怎样的

发布网友 发布时间:2022-05-14 07:30

我来回答

1个回答

热心网友 时间:2023-10-09 21:17

Handler机制工作原理:

Handler 工作流程基本包括 Handler、Looper、Message、MessageQueue 四个部分。但我们在日常开发中,经常都只会用到 Handler 和 Message 两个类。Message 负责消息的搭载,里面有个 target 用于标记消息,obj 用于存放内容,Handler 负责消息的分发和处理。

下面具体给你讲解一下:

Handler机制是由Looper和MessageQueue来构建消息机制的。

MessageQueue:消息队列。虽然名为队列,但事实上它的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表的,其中主要有插入enqueue()和从中拿走并删除next()两个方法。

Looper:消息循环。MessageQueue来存储消息,Looper则是以无限循环的方式去查找是否有新消息,如有就去处理,若没有就standby(等待)。一个线程创建Handler时首先需要创建Looper的,不然报错:RuntimeException: No Looper; Looper.prepare() wasn't called on this thread,而且每个线程下只需要创建一个Looper,不然会报错:RuntimeException: Only one Looper may be created per thread。

面试中回答,建议能自己总结一套自己的专属答案,并理解透,那样当遇到这个问题,就能回答的游刃有余!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
医生你好 我脸上跟额头上面长了很多小粉刺 请问这是什么原因引起的 要... 世界上到底是先有的鸡还是先有的蛋 请问是先有蛋,还是先有鸡? Excel怎么设置行高并且垂直 晚上梦见一条又长又小的青蛇追着咬我最后被我爸爸打死了代表什么... 专业技能怎么填我来教你 QQ空间曾经有一个左右接东西 小游戏叫什么名字 帽子先生接东西游戏介绍 趣味卡车接东西游戏介绍 怀孕50天B超的表现 斗战神角色名字|玉狐35级武器 逆天奇案阿浩谁演的 分词器是什么? 中缅边境翡翠源头+阿浩是骗子吗 迷迭香晒干了可以放在烟草里面吗 迷迭香可以晒干用来做香包吗? 干迷迭香做蛋糕可以吗 迷迭香树干干枯怎么办? 迷迭香干的好?湿的好?泡水喝哪种好 《如懿传》青樱历史原型是什么? 如懿传里的如懿,真的有这个原型吗? 电脑自动启动,但进不了系统 延禧攻略 娴妃怎么黑化的? 配置电脑~求细心!专业的高手来! 《延禧攻略》娴妃历史原型是谁 娴妃的结局悲剧吗 组装一台7000左右的电脑,能不能告诉我怎么组比较好。 《延禧攻略》娴妃为什么黑化? 《如懿传》如懿是娴妃吗? 0X00000050,(0XF8DFEBC4,OXOOOOOOOO,0X8080E074,0X00000000) 延禧攻略娴妃的历史原型是如懿吗 娴妃的结局是什么 2010国庆节见闻作文,地点莆田,600字左右,快!!! 等)小语种分词器都有哪些 简要描述Handler消息传递机制的步骤 国庆见闻五百字 c++ new handler 的机制是甚么 程序Android中Handler和Timer还有Thread的最大区别是什么? 现代诗4句 Handler机制中为什么要用synchronized? intent的机制与handler的机制有什么相似之处 怎么写现代诗4—5句 在lucene中,一个标准的分词器由什么组成 elasticsearch中使用哪种分词器能把检索条件的数字分开来检索? 写一首现代诗,不少于5节,每一节不少于4句。 求高手给我用java编写一个英文单词分词器 现代诗 不少于四节,每四句 关于RMMSeg中文分词器 039是什么地方的电话号码区号? 如何使用中科院分词系统Java版 0394-6227669是哪里的电话? java+elasticsearch 分词器怎么用