私のサービスのonStartCommand()
メソッドでは、長時間実行されるスレッドを開始します。サービスが停止すると、すべてのスレッドが強制終了されますか?
サービスはMainActivity
のonCreate()
で開始されています。
私のアプリケーションが終了すると(メインアクティビティがユーザによって閉じられた時間)、私はサービスを停止します。しかし、私は以前に言及したスレッドが殺されたことを保証したい、またはその前後にスレッドを停止しなければならない。
サービスが停止すると、サービスで開始されたすべてのスレッドは自動的に終了しますか?
いいえ、彼らは殺されません。あなたが手動でそれを殺すには、いくつかのチェックポイントを持っている必要があります。非同期タスクを参照してください。 –
あなた自身で見つけ出す、長時間実行しているスレッドの中にLog.d()を実行してください! –
スレッドはコンポーネントに依存しません。コンポーネントとは、アクティビティ、サービス、コンテンツプロバイダ、放送受信機のことです。独立系では、onCreate、onDestroyなどのライフサイクルコールバックメソッドに応答していないということです。 –