Handler
handler允许你发送和处理与线程MessageQueue相关联的Message和Runnable对象,第个hanlder与一个单独的线程和线程的消息队列关联。当你创建一个新的Handler的时候,它被绑定到线程和线程的消息队列。基于以上信息,它将传送Message或Runnable对象到消息队列,并且运行它们退出消息队列。
在主线程里,可以创建一个新的线程,通过handler进行沟通。
有两种主要的使用用途:
1.调度message和Runable在未来的时间里运行
2.在不同的线程间排列处理任务
调度使用的方法有 post(Runnable)
, postAtTime(Runnable, long)
, postDelayed(Runnable, long)
,sendEmptyMessage(int)
, sendMessage(Message)
, sendMessageAtTime(Message, long)
, and sendMessageDelayed(Message, long) 方法。
post方法允许你排列Runnable对象,它们被接收时被信息队列调用,sendMessage 方法允许排列包含绑定数据的Message对象,当handler调用handleMessage(Message)
时,它们被处理