什么是Looper?
Looper是一个用于在队列中执行消息(Runnables)的类。正常线程没有这样的队列,例如简单线程没有任何队列。它执行一次,方法执行完成后,线程将不会运行另一个消息(Runnable)。
在哪里可以使用Looper类?
如果有人想要执行多个消息(Runnables),那么他应该使用Looper类,它负责在线程中创建一个队列。
例如,在编写从互联网下载文件的应用程序时,我们可以使用Looper类将文件下载到队列中。
怎么运行的?
有prepare()方法准备Looper。然后你可以使用loop()方法在当前线程中创建一个消息循环,现在你的Looper准备好执行队列中的请求,直到你退出循环。
这里是你可以准备Looper的代码。
class LooperThread extends Thread {
public Handler mHandler;
@Override
public void run() {
Looper.prepare();
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// process incoming messages here
}
};
Looper.loop();
}
}