关于Handler的延时发送消息

当我们在使用Handler的sendMessageDelayed时有没有想过他是怎么延时发送的吗?其实很简单当我们sendMessage的时候,Handler会将我们的Message 放入到MessageQueue中去。
当我们从MessageQueue中取出Message的时候他会判断当前时间是否到达Message的发送时间

关于Handler的延时发送消息_第1张图片
这里写图片描述

这里的when其实就是在讲message放入MessageQueue的时候设置给Message的

关于Handler的延时发送消息_第2张图片
这里写图片描述

取到消息之后Looper就会返回给Handler处理


关于Handler的延时发送消息_第3张图片
这里写图片描述

你可能感兴趣的:(关于Handler的延时发送消息)