2016-05-26 17 views
0

これは知識に関する質問に過ぎません。したがって、ここにあります:実行中のサービスでstartService()を何度も呼び出す

私がstartService()を既に実行しているときに3回コールすると、stopService()を3回呼び出して停止する必要がありますか? (それは待っている意思のスタックを持っていますか?)またはただ一度良いためにそれを殺すでしょうか?

答えて

4

サービスを既に開始している間に3回起動すると、stopServiceを3回呼び出して停止する必要がありますか?

No. 1 stopService()で十分です。

は、私はそれはそれはそう

確かに行うには良い方法ではありません知っています。必要に応じて、あなたのアクティビティ(またはstartService()と呼んでいるもの)は、サービスが稼動中であるかどうかを知らずに、盲目的にstartService()に電話することができます。たとえば、中規模のファイルのダウンロードを処理するためにIntentServiceを実装している場合、アクティビティは、ユーザーが望む数のダウンロードに対してstartService()を呼び出すことができます。ただし、それ以上の作業がない場合はIntentServiceが停止します。

+1

私の回答のように、サービスを開始する前に実行中のサービスをチェックしていますか?http://stackoverflow.com/questions/37469409/does-calling-stopservice-stops-all-awaiting-service-intent/37469513# 37469513 –

+1

@YasinKaçmaz:一般的に、私はそのパターンを避けようとしています。 – CommonsWare

+0

なぜ避けるべきか、特別な理由はありますか?私は私のアプリでこのパターンを使用しているとエラーを取得することはありません? –

関連する問題