14

私は主な活動とバインドされたサービスを持っています。バインドされたサービスは、ネットワークからコマンドを受信します。これにより、メイン アクティビティの Handler に送信されるメッセージがトリガーされます。ハンドラーの参照をサービスに渡すことで、すべてが機能するようになりました。そして... Messengerと呼ばれるものに出くわしました。

Messenger:他のユーザーがメッセージを送信するために使用できる Handler への参照。これにより、あるプロセスで Handler を指す Messenger を作成し、その Messenger を別のプロセスに渡すことで、プロセス間でメッセージベースの通信を実装できます。

これにより、いくつかの疑問が生じました。

  • プロセスという用語は、プロセスとスレッドの ガイドラインに従って別のプロセスを生成しない限り、Messenger を使用する必要がないという意味ですか?
  • メッセンジャーを使用することは常に良い習慣ですか?
  • 通常、ハンドラーへの参照を渡すことは悪い考えですか?
4

2 に答える 2

1

Messenger に対する Messenger の主な利点は、Messenger がさまざまなクライアントから送信されたすべてのメッセージをキューに入れることができることです。一方、Handler にはそれを行うためのルーパーが必要です。そのため、メッセンジャーは、リモート プロセス間の IPC で使用すると、さらに有利になります。

于 2014-03-05T13:26:07.500 に答える