您的位置:首页 > 其它

sendMessage 相关的一些知识点

2013-03-26 20:20 134 查看
android 中 handler发送消息的流程是 

      

      sendMessage --> sendMessageDelayed --> sendMessageAtTime --> 将消息放入消息队列

      sendEmptyMessage --> sendEmptyMessageDelayed (在此处获取一个消息对象,将 what 赋值给它) --                                 > sendMessageDelayed --> sendMessageAtTime --> 将消息放入消息队列

消息队列MessageQueue是一个以执行时间为序的优先级队列:

o 普通消息的执行为当前时间,先发送的前面,后发送在后面,这是典型的FIFO。

o 最高优先级的消息执行时间为0,所以直接插在队列的最前面,通常会立即执行。

o 而在将来执行的Message相当于timer,执行时间为当前时间+delay的时间。

说明使用 sendMessageDelayed
时是先将消息放入消息队列,然后等待时间到时执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: