2

によって意図的なサービスの複数の呼び出しがあったstartService(intentservice)場合、サービスの複数のインスタンスを一緒に実行しますか、それともキューに入れられますか?

4

2 に答える 2

3

IntentService はサービスの特殊なケースです。リクエストをキューに入れ、すべてのリクエストが処理されると停止します。

于 2012-01-11T13:58:55.537 に答える
3

startServiceを複数回呼び出し、サービスが既に実行されている場合、onStartメソッドは毎回呼び出されます。onCreate は、 まだ存在しない場合は 1 回だけ呼び出されます。サービスのために単一のインスタンスが存在します。

このドキュメントを参照してください。ここでは、以下の部分で明確に言及されています

" Context.startService() への複数の呼び出しは入れ子にならないことに注意してください (ただし、対応する onStartCommand() への複数の呼び出しが発生します)。したがって、何回開始されても、サービスは Context.stopService() または 1 回で停止されます。 stopSelf() が呼び出されました; "

于 2012-01-11T13:45:17.837 に答える