2012-01-11 19 views
1

startService(intentservice)によってインテントサービスの複数の呼び出しがあった場合、サービスの複数のインスタンスを一緒に実行するか、キューに入れられますか?インテントサービスに関する質問

答えて

3

あなたは複数回STARTSERVICEを呼び出し、サービスがすでに実行されている場合、そのONSTART方法は、それが存在しない場合のonCreateは一度だけ呼び出されます、毎回呼び出されます。 サービスには単一のインスタンスが存在します。

は、ここではそれがはっきり部未満言及され、このdocumentation参照

」Context.startServiceへの複数の呼び出しを()注記がないので、(彼らはonStartCommand()への複数の対応の呼び出しになりますが)いない巣を行います何回サービスが開始されるかは、Context.stopService()またはstopSelf()が呼び出されるとサービスが停止するようになります。 "

+0

よろしくお願いします。サービスとインテントサービスの違いは何ですか?インテントサービスは別のスレッドで実行されているだけで、両方とも同様に機能しますか? – ericlee

+0

IntentServiceはインテントを受信し、ワーカースレッドを起動し、必要に応じてサービスを停止します。 サービスは常に実行できます。それは私たちが使用すべきアプリケーションの要件に依存します。 – AAnkit

3

IntentServiceはサービスの特別なケースです。すべての要求が処理されると、要求をキューに入れ、自身を停止します。

+0

キューの要求の部分についての説明がありますか? – ericlee

+0

@eyespyus:私はericleeに同意します。キューイングの部分について説明できますか?それについて議論する文書はありますか? – Ashwin

+1

こちらをご覧ください:http://developer.android.com/guide/components/services.html#ExtendingIntentService – Moritz