Looper是用来为一个线程执行一个消息循环的,线程默认是没有循环消息与他们绑定到一块的,为了创建一个
,在线程中调用prepare()来运行这个循环,然后开始循环处理消息,知道这个循环结束。
大多数与消息循环交互是通过Handler()。
下面通过一个典型的线程循环的例子来说明,使用prepare()和loop()来创建一个handler来与
Looper交互。
class LooperThread extends Thread {
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler() {
public void handleMessage(Message msg) {
// process incoming messages here
}
};
Looper.loop();
}
}
常用方法:
loop()
在线程中执行消息队列,在结束时通过调用quit()。
prepare()
为当前线程提供一个Looper.
getMainLooper()
返回当前应用程序中依赖主线程的looper,
getThread()
返回和looper相关联的线程。
mylooper()
返回和当前线程关联的looper,如果没有looper与当前线程关联,则返回null。
myQueue()
返回和当前线程相关联的消息队列,使用这个方法,必须确保当前线程与looper相关联。
prepareMainLooper()
初始化与主线程相关联的looper。
,在线程中调用prepare()来运行这个循环,然后开始循环处理消息,知道这个循环结束。
大多数与消息循环交互是通过Handler()。
下面通过一个典型的线程循环的例子来说明,使用prepare()和loop()来创建一个handler来与
Looper交互。
class LooperThread extends Thread {
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler() {
public void handleMessage(Message msg) {
// process incoming messages here
}
};
Looper.loop();
}
}
常用方法:
loop()
在线程中执行消息队列,在结束时通过调用quit()。
prepare()
为当前线程提供一个Looper.
getMainLooper()
返回当前应用程序中依赖主线程的looper,
getThread()
返回和looper相关联的线程。
mylooper()
返回和当前线程关联的looper,如果没有looper与当前线程关联,则返回null。
myQueue()
返回和当前线程相关联的消息队列,使用这个方法,必须确保当前线程与looper相关联。
prepareMainLooper()
初始化与主线程相关联的looper。
本文详细介绍了Looper机制的作用及其在Android线程中的实现方式。Looper用于在一个线程中执行消息循环,通常与Handler配合使用来处理消息队列。文章还提供了Looper常用方法的概述,包括loop()、prepare()等。
5565

被折叠的 条评论
为什么被折叠?



