当我们在使用Handler的sendMessageDelayed时有没有想过他是怎么延时发送的吗?其实很简单当我们sendMessage的时候,Handler会将我们的Message 放入到MessageQueue中去。
当我们从MessageQueue中取出Message的时候他会判断当前时间是否到达Message的发送时间
这里的when其实就是在讲message放入MessageQueue的时候设置给Message的
取到消息之后Looper就会返回给Handler处理
本文详细解析了Android中Handler的sendMessageDelayed方法实现消息延时发送的原理。当调用此方法时,Handler会将消息存入MessageQueue。Looper在处理MessageQueue时,会检查消息的预定发送时间,只有当当前时间达到或超过该时间时,消息才会被处理。
当我们在使用Handler的sendMessageDelayed时有没有想过他是怎么延时发送的吗?其实很简单当我们sendMessage的时候,Handler会将我们的Message 放入到MessageQueue中去。
当我们从MessageQueue中取出Message的时候他会判断当前时间是否到达Message的发送时间
这里的when其实就是在讲message放入MessageQueue的时候设置给Message的
取到消息之后Looper就会返回给Handler处理
1108
541

被折叠的 条评论
为什么被折叠?