Looper和Handler到底用的是什么?

时间:2017-11-13 14:38:50

标签: java android multithreading

我正在学习Looper Handler,我发现大部分内容都是用于处理UI线程。当我们需要Handler的子类并使用handleMessage方法时,我有点困惑。

示例我们可以通过简单的示例使用UI线程。

Handler handler = new Handler();
handler.post(new Runnable(){
  public void run(){
    // update UI here
  }
});

我们可以通过简短的代码轻松地与UI线程进行通信。这里处理程序将自动与MainLooper连接。

然后当我们需要使用Handler的子类并使用handleMessage(Message msg)方法时。

1 个答案:

答案 0 :(得分:0)

  

Looper是一个用于为线程运行消息循环的类。线程由   默认没有与之关联的消息循环;创造   一,在运行循环的线程中调用prepare(),然后   loop()让它处理消息,直到循环停止。

详细了解Looper课程here

  

Handler有两个主要用途:(1)安排消息和   runnables将在未来的某个点上执行; (2)至   将要在不同于自己的线程上执行的操作排入队列。

详细了解Handler类here