同じUIスレッドで実行されている2つの異なるアクティビティでハンドラを作成しています。問題は、これらの2つの異なるハンドラを使用してメッセージを投稿した場合、メインスレッドに関連付けられた同じメッセージキューに終了するか、または各ハンドラに関連付けられた別のメッセージキューがあるかどうかです。Android Message Queueスレッドごとまたはハンドラごと
何か指摘します。
同じUIスレッドで実行されている2つの異なるアクティビティでハンドラを作成しています。問題は、これらの2つの異なるハンドラを使用してメッセージを投稿した場合、メインスレッドに関連付けられた同じメッセージキューに終了するか、または各ハンドラに関連付けられた別のメッセージキューがあるかどうかです。Android Message Queueスレッドごとまたはハンドラごと
何か指摘します。
あなたはこのHandler
各Handler
がLooper
に関連付けられているを確認する必要があります。ルーパーはThread
に関連付けられています。
スレッドが1つの場合は、というメッセージキューが1つあります。です。
Loopers & Handlersの素敵な紹介については、this linkをチェックしてください。
ありがとうございました。 MessageQueueはスレッドに関連付けられています。しかし、複数のハンドラの場合はどうなりますか。したがって、あるハンドラにメッセージを投稿すると、両方のハンドラのhandleMessageが呼び出されますか? – cppdev
Hm :)興味深い、私はそう思うが、単純なアプリを書いて試してみると、それを理解するには最良の方法だと思う。 ** UPD:**オブザーバーのパターンを実装していると思います。間違っている可能性があります。そうすれば、メッセージについて各ハンドラーに通知します。 –
私はそれを試してみましょう – cppdev