3

Android デベロッパー ガイドでバインドされたサービスAIDL ベースのサービスについて読みました

どちらも、他のコンポーネントがプロセス間通信にバインドして実行できるようです

バインドされたサービスを使用すると、コンポーネント (アクティビティなど) をサービスにバインドし、要求を送信し、応答を受信し、プロセス間通信 (IPC) を実行することもできます。

AIDL (Android Interface Definition Language) は、あなたが扱ったことのある他の IDL に似ています。プロセス間通信 (IPC) を使用して相互に通信するために、クライアントとサービスの両方が同意するプログラミング インターフェイスを定義できます。

違いは何ですか?

4

2 に答える 2

2

AIDL は、バインドされたサービスと通信するための 1 つの方法にすぎません。「AIDL ベースのサービス」などというものはありません。これは、AIDL インターフェイスに基づいて生成された Binder を返すバインドされたサービスにすぎません。

于 2012-10-04T04:09:51.637 に答える
0

AIDL はコントラクトです。クライアントがサービスと対話する場合、AIDL は使用される形式であるため、両者はそれが何を意味するかを知っています。別の方法として、this、that、および theOther をバンドルに入れて、ここで言うこともできます。ああ、あれ、これ、その他、またはメッセージを送信できます。

バインドされたサービスとは、契約の当事者が電話番号、バインダー、名前などのようにお互いを知っている必要があることを意味します。サービスはクライアントを知っている必要があり、おそらくクライアントはサービスを知っている必要があります。

于 2016-03-30T23:26:45.890 に答える