小编典典

Looper 的目的是什么以及如何使用它?

all

我是安卓新手。我想知道这个Looper类做什么以及如何使用它。我已经阅读了 Android Looper
类文档
,但我无法完全理解它。我在很多地方都见过它,但无法理解它的目的。Looper任何人都可以通过定义目的并在可能的情况下给出一个简单的例子来帮助我吗?


阅读 234

收藏
2022-03-11

共1个答案

小编典典

什么是活套?

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();
      }
  }
2022-03-11