码迷,mamicode.com
首页 > 移动开发 > 详细

android-Handler

时间:2015-06-17 12:58:03      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

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

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

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

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

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

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

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

android-Handler

标签:

原文地址:http://www.cnblogs.com/QiaoJun-Fighting/p/4582696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!