Handler线程间通信

Handler

1 handler主要处理两种对象。

一是Message对象,一是Runable对象。

实际上Runable对象也会获得一个Message对象。

2 每个handler对象同当前所在的线程和消息队列绑定。

handler对象从消息队列中获得Message,后者向消息队列中发送Message。

3 handler主要有两类方法。

一类是post开头的,主要向消息队列中传递Runable对象。

一类是sendMessage,主要向消息队列传递Message对象。

4 handler线程间通信。

主线程创建一个handler对象。那么主线程的消息队列就与这个handler对象绑定。

handler对象被传递给工作线程。

工作线程需要向主线程通信的时候,通过handler对象向主线程的消息队列发送Message。

在主线程的handler对象,通过handleMessage获得这个Message。可以做出相应的界面反应。

handler还有种常用功能。延迟启动一个线程。

主线程创建一个handler对象。

handler对象调用postDelayed,将一个Runable对象传递到主线程的消息队列中。

到达指定时间,消息会回调Runable对象的run方法。

run方法执行新线程的工作。

猜你喜欢

转载自zhangy517.iteye.com/blog/2062031