您的位置:首页 > 移动开发 > Android开发

【Android】在线程中使用Handler

2016-01-07 16:07 435 查看
Handler类的主要作用有两个:

(1)在新启动的线程中发送消息;

(2)在主线程中获取、处理消息。

每个线程中只有一个Looper, 负责管理MessageQueue, 它的loop方法会不断地从MessageQueue中取出消息,并将消息分给对应的Handler处理。

MessageQueue由Looper负责管理,采用先进先出的方式来管理Message。 Handler能把消息发送给Looper管理的MessageQueue,并负责处理Looper分给它的消息。

主UI线程中,系统已经初始化了一个Looper对象,所以可直接创建Handler即可;而程序员自己启动的子线程,必须自己创建一个Looper对象,并启动它。

步骤如下:

(1)调用Looper.prepare()方法为当前线程创建Looper对象,创建Looper对象时,它的构造器会创建与之配套的MessageQueue.

(2)创建Handler子类的实例,重写handleMessage()方法,负责处理来自其他线程的消息。

(3)调用Looper.loop()方法启动Looper。

每个线程只能拥有一个Looper.它 的Loop方法负责读取MessageQueue中的消息,读到消息之后就把消息交给发送该消息的Handler处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: