このページが言うように:
開始されたサービスは、それを開始したコンポーネントが破棄された場合でも、無期限にバックグラウンドで実行できます。
では、サービスに無限ループがあり、システムのリソースが不足している場合、サービスは強制終了されますか? はいの場合、サービスが最後まで実行されるかどうか確信が持てませんか?
はい、使用する必要がある何かを常に実行したい場合にリソースが必要な場合、OSによってサービスが強制終了される可能性がありますstartForeground
が、それでも、それが強制終了される可能性がはるかに低いことを保証するものではありません。
を使用startForeground
するには、通知バーに通知を表示して、まだ実行中のものがあることをユーザーに伝える必要があります
サービスの優先順位を設定して、サービスを終了しないようにすることができますが、それは本当に本当に必要な場合にのみ行う必要があります。ただし、UIが関連付けられていないため、サービスのリソースがそれほど多くないようにする必要があります。そのため、リソースを解放するために強制終了するのは適切ではない可能性があります。サービスが強制終了された場合、サービスにバインドしようとするとサービスが再開されるため、アプリに関する限り、実際には違いは見られません。