私の小さな実験の観測ではわかりません。 IntentServiceのライフサイクルが、すべてのIntentが処理された時点で停止することを理解しています。MainActivityに関するIntentServiceのライフサイクル
私の実験では、IntentServiceを開始したActivityの寿命に基づいてIntentServiceの寿命の関係を特定しました。
MainActivity:ResultReceiverを作成し、IntentServiceに渡します。
MyResultReceiver:onReceiveResultをリッスンし、ログ行を書き込みます。
IntentService:結果を返す前に、onHandleIntent の開始、破棄、および終了時にログ行を書き込みます。実験のために15秒のスレッドスリープもあります。
- 定期場合は、すべてのログラインはIntentServiceのonDestroy含めて書かれています。
- アクティビティのonPauseからアプリログラインを最小化するとログに記録されます。その後、スリープ時間の後、保留中のすべてのログラインフォームIntentServiceは、onDestroyを含めてログに記録されます。
- 私はアプリを殺すと、Androidスタジオからのログが表示されますが、アプリは終了していますが、IntentServiceのonDestroyのログは表示されません。
この3番目のケースは私には手を差し伸べてしまいました。Android Studioはログを受け取るための接続を失ったか、IntentServiceが別の状況になったのですか?
私はそれがAndroid Studioのためだと推測していますが、私は確信しています。
よろしく、
ハルシャ
この場合、結果は送信されませんが、それでもIntentServiceは、自己が停止となりOnDestroyの行をログに記録されますが – harshal
を印刷してしまっているはず 'onDestroy()は'残念なことに、呼び出されること。保証はありません https://stackoverflow.com/questions/7236782/is-an-android-service-guaranteed-to-call-ondestroy –