システムによって停止されたときに Android サービスがどのように動作するかについて質問があります。私の理解では、リソースが必要なためにシステム (OS) がサービスを停止した場合、システムはサービスを再開する責任があります。このシナリオでは、システムはサービスを停止するときに onDestroy() を呼び出さず、サービスを開始するときに onCreate() を呼び出さず、単に onStartCommand() を呼び出します。
onStartCommand() でスレッドを作成している場合、システムがサービスを停止したときにスレッドをクリーンアップするにはどうすればよいですか。スレッドを停止しない場合、onStartCommand() は新しいスレッドを作成します。私は、onStartCommand() パラメーター (インテント、フラグ、および startId) に帰着する可能性があると思います。リソースが必要だったため、システムがサービスを停止した後にサービスを開始すると、それらは異なる場合があります。startService() コマンドまたはシステム自体によってサービスが開始されたときのパラメーターの違いを誰か教えてください (停止後)
onCreate() でスレッドを作成できますが、システムがサービスを停止したときにスレッドがまだ存在するかどうかはわかりません。この種のシナリオを処理する最良の方法は何でしょうか。
ありがとう