Android 関連の問題 - Android は、インポートされた lib ライブラリ内のサービスをシステム内でどのように一意にしますか?
巴扎黑
巴扎黑 2017-05-16 13:21:35
0
1
565

まず、サービスを定義する lib ライブラリがあります。

リーリー

次に、このライブラリを導入した 2 つのアプリを追加し、それぞれのコードで呼び出します。

リーリー

私が今考えているのは、システム内に SharedService的实例,在进程com.lib.aidl.SharedService は 1 つだけあるべきだということです。

しかし、実際には 2 つの SharedService的实例,它们都在进程名为com.lib.aidl.SharedService プロセスが存在しますが、プロセス ID は異なります。何故ですか?

システム内に SharedService的实例,当第二次调用startService时回调onStartCommand メソッドを 1 つだけ表示したいのですが、これは可能ですか?

巴扎黑
巴扎黑

全員に返信(1)
洪涛

リーリー

代替成

リーリー

试试

注意、追加済个 ':'

サービスが実行されるプロセスの名前。通常、アプリケーションのすべてのコンポーネントは、アプリケーション用に作成されたデフォルトのプロセスで実行されます。アプリケーション パッケージと同じ名前が付けられます。 要素の process 属性は、すべてのコンポーネントに対して異なるデフォルトを設定できます。ただし、コンポーネントは独自のプロセス属性でデフォルトをオーバーライドでき、アプリケーションを複数のプロセスに分散させることができます。
この属性に割り当てられた名前がコロン (':') で始まる場合、アプリケーション専用の新しいプロセスが作成されます。必要なときに作成され、そのプロセス内でサービスが実行されます。プロセス名が小文字で始まる場合、アクセス許可がある限り、サービスはその名前のグローバル プロセスで実行されます。これにより、異なるアプリケーションのコンポーネントがプロセスを共有できるようになり、リソースの使用量が削減されます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート