我是Android新手。我想知道Looper
类的功能以及如何使用它。我已经阅读了Android Looper class documentation,但我无法完全理解它。
我在很多地方都看到过它,但无法理解它的目的。谁能通过定义Looper
的用途以及在可能的情况下给出一个简单的示例来帮助我?
最佳答案
什么是Looper?
Looper是用于在队列中执行Messages(Runnables)的类。普通线程没有这样的队列,例如简单线程没有任何队列。它执行一次,方法执行完成后,该线程将不会运行另一个Message(Runnable)。
在哪里可以使用Looper类?
如果有人要执行多个消息(Runnables),那么他应该使用Looper类,该类负责在线程中创建队列。
例如,在编写从Internet下载文件的应用程序时,我们可以使用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();
}
}
关于android - Looper的用途是什么?如何使用它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7597742/