关于Handler的延时发送消息

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

这里写图片描述

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

这里写图片描述

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


这里写图片描述
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容