6

簡単な質問:Androidドキュメントには、 MessengerがIPC(プロセス間通信)のAIDLの代替手段であることが非常に明確に記載されています。ただし、これが異なるアプリケーションで実行されているプロセスに拡張されるのか、それとも1つのアプリ内で実行されるプロセスに拡張されるのかを明示的に言うことはありません。前者を強く疑っていますが、確認したかったのです。

ありがとう!1月

4

2 に答える 2

7

AIDLは、実際にはアプリ間IPCにのみ使用されます。内部通信にAIDLを使用することは可能ですが、AIDLは何も購入せず、Binder実装に制限を課します。

さらに、ほとんどの場合、1つのアプリケーションに複数のプロセスが含まれることはありません。ほとんどのアプリに複数のプロセスがある理由はほとんどありません。

Messenger、、、プライベートブロードキャスト-これらはすべて、サービスがプロセスの境界を越えてクライアントと通信するための方法ですcreatePendingResult()ResultReceiverIntents

于 2011-03-30T11:47:43.843 に答える
0

メッセンジャーは内部でAIDLを使用し、複数のアプリケーションで使用できます。Androidのドキュメントによると、メッセンジャーサービスは2つのプロセス間の通信に使用できますが、同じアプリケーションでの通信を制限するものではありません。プロセスは同じアプリケーションでも異なるアプリケーションでもかまいません。

メッセンジャーは、ハンドラーのキューにメッセージを入力して1つずつ処理するときにリクエストを順番に処理する場合に使用する必要がありますが、AIDLではすべてのリクエストが一度に処理され、スレッドセーフを維持するのは開発者の責任になります。

于 2017-07-04T12:55:04.410 に答える