ではない正確に ...
あなたはどういうわけか概念Destroyed
とKilled
破棄
これは、アプリケーションが対処できるように準備する必要があるものです。さまざまな理由(デバイスの向きの変更など)により、OSがアクティビティを破壊する可能性があり(通常はonDestroy()
事前に呼び出すため、重要なものを保存する機会があります)、アクティビティ内のすべてのオブジェクトが失われます。ただし、アプリケーションに複数のアクティビティやサービスが含まれている可能性があり、1つのアクティビティが破棄されても、他のアクティビティも破棄されるわけではありません。
強制終了
OSは、何らかの理由でアプリケーションを強制終了することを決定する場合があります。これは、アプリケーションで使用されているプロセスを強制終了することによって行われます。このプロセスは、アプリケーションを構成するすべてのアクティビティとサービスを実行するプロセスです。アプリケーションには警告がなく、これを防ぐために何もすることはできません。アプリケーション内のすべてのオブジェクト(アクティビティおよびサービスによって使用される)は失われます。
そうは言っても、長期的な活動におけるの利点はService
何ですか?
簡単な例を使用してみましょう:
アクティビティがサーバーに大きなファイルをアップロードしている途中で、ユーザーがデバイスの向きを変更することを決定した場合、アクティビティは破棄され、アップロードが中断されます。アクティビティの再開時にアップロードを再開しても、再開から開始されます。
アクティビティからの要求に応じてアップロードを実行するサービスがある場合、アクティビティが破棄されても、サービスはアクティブなままであり、アップロードは中断されることなく続行されます。
注:
非常に長時間実行されているサービス(30分以上実行される)がある場合は、それをフォアグロウンサービスとして作成します。そうでない場合は、とにかく強制終了されます。