2012-10-09 26 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

相關問題