当前标签 / 源码 / 总共1篇

Handler和HandlerThread

Hander

Hander的主要作用有两个:

  1. 延迟处理消息。
  2. 在其他线程处理消息。

这里的消息可以理解为MessageRunnable,通过如下方法来调度消息。

方法作用
post(Runnable)将Runnable对象添加到消息队列
postAtTime(java.lang.Runnable, long)加入消息队列,在特定时间执行Runnable对象
postDelayed(Runnable, Object, long)加入消息队列,延迟执行
sendEmptyMessage(int)仅仅发送what值消息
sendMessage(Message)将Message对象加入队列
sendMessageAtTime(Message, long)同理
sendMessageDelayed(Message, long)同理

Runnable实际上是将该Runnable匿名对象排入队列,在其他线程执行该消息,这里的其他线程可以理解为MessageQueue所在的线程。

阅读更多