2012-10-09 78 views
0

我只是想知道为什么Handler必须带一个Runnable的实例?毕竟Handler的目的是将工作从一个线程转移到另一个线程。使用第三个线程,一个Runnable来完成这个任务的目的是什么?Handler线程的Android目的

亲切的问候,

+0

我不确定你的意思。但阅读[文档](http://developer.android.com/reference/android/os/Handler.html)可能会有所帮助。 – keyser

回答

2

我想我明白你的困惑:你认为一个Runnable对象本身的独立Thread一个实例。不是这样。简而言之,它只是一个对象,通过实现Runnable接口,您可以通过Thread来知道它可以通过调用.run()来执行其中的代码。

当你发送一个Runnable对象到Handler,即Runnable在执行HandlerThread

简而言之,这可能足以用这种方式来解释:如果你想提供一个Handler有自己的工作要做Thread,那么你必须在一个对象内提供这段代码。现在,您提供给Handler的对象必须实现某种interface,以便Handler知道要在该对象中调用哪些方法以使其执行所需的操作。在基本术语中,这是Runnable接口的作用:对于实施Runnable来实施run()方法的对象是强制性的。

+0

完美使真正的感觉。谢谢。 – user1730789

相关问题