postDelayed是否会导致消息跳到队列的最前面?

postDelayed是否会导致消息跳到队列的最前面?,第1张

postDelayed是否会导致消息跳到队列的最前面?

简短的答案是-不,这样做

postDelayed
不会在队列中其他未延迟的作业之前跳转。

两个

post
postDelayed
两个呼叫
sendMessageDelayed
post
使用为0的延迟。因此,
post
postDelayed
具有零延迟是等效的。(请参见
Handler
source,从324行开始)。
sendMessageDelayed
指出在所有待处理的请求之后,放入队列中的消息。原因是每个消息都被排队了,同时还加上了可选的延迟。队列按此时间值排序。如果您无延迟地入队新邮件,它将跳过(放在前面)仍未达到其传递时间的延迟消息,但不会在未决消息(已超出传递时间但尚未到达的那些消息)的前面交付)

附带说明一下,如果您 希望
请求跳过未决请求的行为,可以使用

postAtFrontOfQueue
,但请务必阅读并理解仅在特殊情况下使用的警告。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5498699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存