2012年3月1日

Activityのライフサイクル

ライフサイクル再学習


Activityのライフサイクル、いろんなところで解説を見かけるけど、何をするとどの状態に遷移するのかという観点で解説してあるものは案外少ない。

操作とイベントの対応関係という視点でライフサイクルをまとめなおしてみた。




操作ごとのイベント


1. アプリケーション起動



onCreate()

onStart()

onResume()

を経て実行状態になる。


2. スクリーンタイムアウト



実行状態からスクリーンタイムアウトが発生すると、

onSaveInstanceState()

onPause()

が発生する。

復帰のときは逆向きのイベントが発生し、

onResume()

実行状態

となる。


3. Homeボタン



実行状態からHomeボタンを押すと

onSaveInstanceState()

onPause()

onStop()

が発生する。

アイコンをタップすると、

onRestart()

onStart()

onResume()

実行状態

となる。onStart()の前にonRestart()というイベントが発生するところがポイント。っていうか、Androidのライフサイクル管理の覚えにくいところ。


4. 画面の回転

実行状態から画面の回転が発生すると、


onSaveInstanceState()

onPause()

onStop()

onDestroy()

onCreate()

onStart()

onResume()

と、いったんonDestroy()まで発生したのち、逆向きにonCreate()から発生する。



5. 戻るボタン


実行状態から「戻る」ボタンを押すと、

onPause()

onStop()

onDestroy()

というイベントが発生する。いわゆる「アプリケーションの終了」という操作に一番近いのがこれでしょう。しかし、直感的にはもっとも「ユルい」操作に思えてしまうのが、これまたAndroid開発の覚えにくいとこ。

0 コメント:

コメントを投稿

長崎県 引越 見積もり 単身引っ越し 料金 還暦祝い 父 Blog Entry Ranking
" ); 出会い系を例示