美文网首页
Android Framework学习之Handler的消息延迟

Android Framework学习之Handler的消息延迟

作者: 一只二凡子 | 来源:发表于2022-12-29 09:08 被阅读0次

handler的消息延时是怎么实现的?

postDelay:最后也是封装一个消息调用sendMessageDelayed

messageQueue其实是一个单链表,消息的插入是按时间顺序插入的。

sendMessageAtFrontOfQueue:when == 0

write(mWakeEventFd, &Inc,sizeof(uint64_t): 向mWakeEventFd写入一个数字1,线程就可以收到MWakeEventFDA的一个可读事件,唤醒线程,从队列拿出next消息进行处理

queue.next(): 消息队列里没有消息时,next() 会阻塞在那

next(): 返回可用消息--有时候queue里有消息,但是when 还没到

相关文章

网友评论

      本文标题:Android Framework学习之Handler的消息延迟

      本文链接:https://www.haomeiwen.com/subject/xxghqdtx.html