まず、サービスを定義する lib ライブラリがあります。
リーリー次に、このライブラリを導入した 2 つのアプリを追加し、それぞれのコードで呼び出します。
リーリー私が今考えているのは、システム内に SharedService
的实例,在进程com.lib.aidl.SharedService
は 1 つだけあるべきだということです。
しかし、実際には 2 つの SharedService
的实例,它们都在进程名为com.lib.aidl.SharedService
プロセスが存在しますが、プロセス ID は異なります。何故ですか?
システム内に SharedService
的实例,当第二次调用startService
时回调onStartCommand
メソッドを 1 つだけ表示したいのですが、これは可能ですか?
PHP中文网2017-05-16 13:23:35
将
リーリー代替成
リーリー试试
注意、追加済个 ':'
サービスが実行されるプロセスの名前。通常、アプリケーションのすべてのコンポーネントは、アプリケーション用に作成されたデフォルトのプロセスで実行されます。アプリケーション パッケージと同じ名前が付けられます。 <アプリケーション>要素の process 属性は、すべてのコンポーネントに対して異なるデフォルトを設定できます。ただし、コンポーネントは独自のプロセス属性でデフォルトをオーバーライドでき、アプリケーションを複数のプロセスに分散させることができます。
この属性に割り当てられた名前がコロン (':') で始まる場合、アプリケーション専用の新しいプロセスが作成されます。必要なときに作成され、そのプロセス内でサービスが実行されます。プロセス名が小文字で始まる場合、アクセス許可がある限り、サービスはその名前のグローバル プロセスで実行されます。これにより、異なるアプリケーションのコンポーネントがプロセスを共有できるようになり、リソースの使用量が削減されます。返事0