コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

Androidアプリ入門 No.61 ライフサイクル ライフサイクルで気をつけること

ライフサイクル

ライフサイクルで気をつけること

Activityがアクティブでなくなる場合には、onPauseメソッドは呼び出される。onStopも大抵の場合には呼び出される。ただし、onDestroyはアプリケーションが正常終了する場合のみ呼び出されていた。この点には注意が必要である。
たとえば、アプリケーションで処理したデータをonDestroyメソッドで保管しようとすると、同時にメモリを大量に使用した場合にプロセスがkillされる恐れがある。その場合にはonDestroyメソッドは呼び出されない。そのため永続データの保管タイミングは、できることならばそれができる最速の段階で行うのが理想だと感じる。少なくともonPauseの段階で、保管しておくべきデータはメモリから、場合によっては永続的な場所に退避しておく必要がある。
アプリケーションの性質によっても異なるため、ライフサイクルを正しく理解してそれぞれにあった対策をする必要がある。