AndroidがServiceを停止する時の条件の記述
Android システムがサービスを停止するのは、メモリが少なくなって、ユーザーが使用しているアクティビティのシステム リソースを回復する必要が生じた場合のみです。ユーザーが使用しているアクティビティにサービスがバインドされている場合、強制終了されることはあまりありません。フォアグラウンドで実行するように宣言されている場合は、サービスが強制終了されることはほとんどありません。サービスが開始されてから長時間実行されている場合は、バックグラウンド タスクのリストにおけるその位置付けが徐々に低くなり、サービスが強制終了される可能性が高くなります。開始されたサービスを作成する場合は、システムによる再起動を円滑に処理するように設計する必要があります。システムによってサービスが強制終了された場合、リソースが回復次第、サービスが再起動されますが、この動作は、onStartCommand() から返される値によっても異なります。システムがサービスを破棄するタイミングについては、プロセスとスレッドのドキュメントをご覧ください。