AndroidHandlerpostDelayed的原理

更新时间:2023-06-11 16:07:17 阅读: 评论:0

形同陌路什么意思
casino
nativeWake(mPtr)(唤起线程)
⼀切都解释的通了,如果当前插⼊的消息不是延迟message,或⽐当前的延迟短,这个消息就会插⼊头部并且唤起线程来
⼆.整理
我们把我们跟踪的所有信息整理下
zmr>教育部考试中心托福1.消息是通过MessageQueen中的enqueueMessage()⽅法加⼊消息队列中的,并且它在放⼊中就进⾏好排序,链表头的延迟时间⼩,尾部延迟时间最⼤
2.Looper.loop()通过MessageQueue中的next()去取消息
adverti
猪的英文同声传译培训3.next()中如果当前链表头部消息是延迟消息,则根据延迟时间进⾏消息队列会阻塞,不返回给Looper message,知道时间到了,返回给message
4.如果在阻塞中有新的消息插⼊到链表头部则唤醒线程
5.Looper将新消息交给回调给handler中的handleMessage后,继续调⽤MessageQueen的next()⽅法,如果刚刚的延迟消息还是时间未到,则计算时间继续阻塞
数字听吧
三总结suck是什么意思
四级考试
handler.postDelay() 的实现 是通过MessageQueue中执⾏时间顺序排列,消息队列阻塞,和唤醒的⽅式结合实现的。
如果真的是通过延迟将消息放⼊到MessageQueen中,那放⼊多个延迟消息就要维护多个定时器,

本文发布于:2023-06-11 16:07:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/141484.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:消息   延迟   时间   阻塞   头部
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图