android-Handler

Handler 是什么?
字面意思是处理者、管理者的意思。封装了消息的发送
 
发送和处理消息。一旦你创建了一个handler实例,它就会绑定到一个线程中并且与消息队列相关联。你可以把消息放到队列中,也可以处理从这个队列中取出的消息。

其实 当你程序启动时候,主线程就启动了,主线程里面就维持了一个消息队列(MessageQueue)她来管理应用程序的对象。

但是有些耗时操作不能在主线程中做,很明显耗时操作要重开一个线程。
你可以创建自己的线程,如果你想和主线程交流。那么一个Handler实例会非常有用。在我眼里,handelr从你(子线程)那里拿到数据,然后把数据送到主线程那里。

looper 内部有一个消息队列(MessageQueue),然后消息进入队列或者取出消息。

handler 要和 looper 进行关联, handler 要知道消息要被放入哪个队列?

一些问题:
1.要从哪个队列中取出消息。那么如何关联啊?

2.如果有很多个handler 关联同一个消息队列,那么怎么进行区分呢?
(what flag)
自己发的消息肯定得有自己接收。

3. 在一个普通的线程中你要是定义一个handler肯定会出错的,但是你要是非得在一个你自定义的线程中用handler。
handler 实例与消息处理是关联。

在子线程操作主线程的队列。

子线程默认没有消息队列。

posted @ 2015-06-17 11:14  计划了好了再娶吧  阅读(93)  评论(0编辑  收藏  举报