2
HandlerThread thread = new HandlerThread("DownloadService");
thread.start();

スレッドに関連付けられたルーパーは、thread.start() が返された直後にメッセージ キューにメッセージが到着するのを待っていますか? その場合は、このスレッドのルーパーを handleMessage() を実装するクラスに関連付けるだけです。これは正しい実装でしょうか?

4

1 に答える 1

1

スレッドに関連付けられたルーパーは、thread.start() が返された直後にメッセージ キューにメッセージが到着するのを待っていますか?

必ずしもそうではありませんstart()-- 将来のある時点で -- を作成するスレッドのみを作成しますLooperstart()ルーパーの準備が整うのを待ちません。

編集:ただし、HandlerThread.getLooper()ルーパーがまだ準備されていない場合は、ルーパーが適切に準備されるのを待つため、これは通常問題ではありません。

補足:HandlerThread実際にはLooper.

于 2015-05-18T10:27:02.223 に答える