なぜ Handler が Runnable のインスタンスを取得する必要があるのか 疑問に思っていましたか? 結局、ハンドラーの目的は、あるスレッドから別のスレッドに作業を配置することです。これを達成するためにランナブルであるサードスレッドを使用する目的は何ですか?
敬具、
なぜ Handler が Runnable のインスタンスを取得する必要があるのか 疑問に思っていましたか? 結局、ハンドラーの目的は、あるスレッドから別のスレッドに作業を配置することです。これを達成するためにランナブルであるサードスレッドを使用する目的は何ですか?
敬具、
私はあなたの混乱を理解していると思います:あなたはRunnableオブジェクト自体が別ののインスタンスであると考えていますThread。そうではない。簡単に言うと、インターフェイスを実装することで、RunnableインターフェイスThreadを渡して、インターフェイスを呼び出し.run()て内部のコードを実行できることを確認することができます。
Runnableオブジェクトをに送信するとHandler、それは'sRunnableで実行されます。HandlerThread
簡単に言えば、このように説明するだけで十分でしょう。Handlerそれ自体で実行する作業をThreadに提供する場合は、オブジェクト内にそのコードを提供する必要があります。ここで、に提供するオブジェクトは、Handlerある種の実装を行う必要があります。これにより、オブジェクトが必要な処理を実行するinterfaceためHandlerに、そのオブジェクトで呼び出すメソッドを知ることができます。基本的には、それがインターフェースの機能です。実装するオブジェクトがメソッドを実装するRunnableことは必須です。Runnablerun()