web-dev-qa-db-ja.com

開始Androidサービスは既に実行されていますか?

確かにこれは簡単な質問です。次のコードを使用してServiceを開始するとどうなりますか。

 startService(new Intent(this,myService.class));

Serviceがまだ実行されているときに、上記のコードを誤って思い出しましたか?

2つの異なるプロセスを同時に実行するために、startserviceへの2回目の呼び出しで新しいServiceを作成できると思います。

39
GVillani82

Startserviceへの2回目の呼び出しで、2つの異なるプロセスを同時に実行するために新しいサービスを作成できると思います。

いいえ、複数の点で:

  • いいえ、新しいサービスは作成されません。サービスが既に実行されている場合、新しいIntentを提供するためにonStartCommand()で再度呼び出されますが、2番目のコピーは作成されません。

  • いいえ、サービスはデフォルトでアプリの他の部分と同じプロセスで実行されるため、「2つの異なるプロセスが同時に実行される」ことはありません。

70
CommonsWare