公式のリファレンスに状態遷移の図が乗っているのでそちらも参照
Managing Lifecycle - Android Developers
http://developer.android.com/guide/components/activities.html#Lifecycle
Activity の状態遷移
onCreate()
ユーザがアプリのアイコンをタッチすると呼び出される。Activity の layout をセットする
インスタンス変数の初期化をする
Activity のライフサイクルにおいて1度しか実行されないメソッド
このメソッド内で finish() を実行すると、
途中のメソッドを飛ばして onDastroy() を呼び出すことができる。
Created 状態
onCreate() が終了したらこの状態になるこの状態になったらすぐさま onStart() を実行する
onStart()
onCreate() で設定した layout が画面に自動的に描画される。Stopped 状態から復帰してきた場合は、
引数の Bandle オブジェクトに中断データ(フォームへの入力やスクロール位置など)が渡される。
必要に応じて復元することができる。
Started 状態
onStart() が終了するとこの状態になる。すぐさま onResume() が呼び出される。
onResume()
Started から遷移してきた場合は特に何もしなくて良い。Paused から復帰したきた場合には、停止した処理の再開をする。
Resumed 状態
最前面で実行され、ユーザのインタラクションに対応できる。ダイアログを表示したり、別のアプリを呼びだそうとすると onPause() が実行される。
onPause()
別のアクティビティへ遷移したり、アプリから離れようとした時に呼ばれる。以下のことをやる。
- アニメーションなどの CPU を消費する処理を停止する
- メールの下書きなど消えたら困るデータを保存する
- ポーズ中に使わないリソースを開放する(カメラやGPS機能へのアクセスなど)
Paused 状態
ダイアログが上に表示されるなど、部分的に見えてはいるんだけど操作はできない状態。再開するときには onResume() が呼ばれる。
再開時には onPause() で止めた処理を再開すること。
Activity オブジェクトはメモリ上に残り続けて、再開時にそのまま利用できる。
画面が完全に隠れて表示する必要もなくなったら onStop() を実行する。
HoneyComb より古いバージョンではシステムから強制終了がかかる可能性がある。
(これについては明日、詳しく書きます)
onStop()
別のアプリへの遷移するときや、別のアクティビティへ遷移する時に呼ばれる。再開時に使いたいデータは Bundle オブジェクトとして保存しておく。
0 件のコメント:
コメントを投稿