Handler机制
Handler允许用户发送和处理Message
以及线程MessageQueue
相关的可运行对象。每个Handler实例都对应一个单线程以及该线程的MessageQueue
。当创建新的Handler时,该Handler将被绑定到该线程创建该Handler的Message queue上。从那时起,Handler可以发送message到MessageQueue
,当message从MessageQueue
出来时可以被Handler处理。
Handler有两个主要应用场景:(1)调度message并让在未来某一时刻执行。(2)将一个不同于当前线程的方法放在Message queue上供另一个线程使用。
Message发送使用post
,postAtTime(Runnable, long)
,postDelayed
,
sendEmptyMessage
,sendMessage
,sendMessageAtTime
,sendMessageDelayed
,
post
方法发送的消息允许用户添加可以被message queue调用的Runable对象。
sendMessage
方法运行将含有一些数据的Message
对象放到队列上,该Message
将被handleMessage
方法处理。
当将message发送给Handler时,可以设置当message queue可以处