Handler允许你发送和处理与线程消息队列相关的消息和可执行对象。每一个Handler实例和一个单独的线程以及线程的消息队列相关联。当你创建一个新的Handler对象,它会绑定到创建Handler对象的线程/消息队列,它将会将消息和可执行对象传递到消息队列,当它们从消息队列中取出的时候执行它们。
Handler有两个主要的作用:
1.计划在将来的某一个时间点发送消息和执行对象
2.在不同的线程上执行你的操作
计划消息使用 post(Runnable)
, postAtTime(Runnable, long)
, postDelayed(Runnable, long)
, sendEmptyMessage(int)
, sendMessage(Message)
, sendMessageAtTime(Message, long)
, and sendMessageDelayed(Message, long)
方法完成。 post方法允许你把可执行对象放入消息队列当他们接收到的时候;sendMessage方法允许你把一个将要处理的包含bundle数据的消息对象通过handleMessage(Message)进行处理(要求实现一个继承自Handler的子类)。