アクティビティのライフタイム

AndroidアプリケーションでActivity作りますが、そのActivityは状況に応じていろんな状態に遷移します。
アクティビティ生成要求(startActivity())が実行されたあと、onCreate()→onStart()→onResume()というふうに遷移してからフォアグラウンドに表示されます。
このActivityから他のActivityを生成するなどして、別のActivityが前面に表示されるときonPause()が呼ばれます。
このとき、元々のActivityが不可視状態になりますが、その際にonStop()が呼ばれます。
なので、そのときの状態を保存したい場合などはonPause()でその状態を保存し、次回アクティビティが開始されたときはonResume()で状態を復元してやるなんてすればいい感じです。
ざっくりとしたフローを書いてみました。
 Androidのフロー
onPause()やonStop()のあと他のアプリケーションがメモリを必要としていてシステムメモリの空き容量が少ない場合などで解放してやる必要がある場合はこのActivityはkillされちゃいます。
 
その場合は、onCreate()からまた再開です。
カテゴリー: 未分類 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です