Androidの開発ガイドなんかを買うと、
必ずライフサイクルについての説明図なんかが載っているが、
それでも躓くところがあったので自分なりの補足。
まず、画面が後ろに移動した場合の流れについて。
本によっては、 onPause() → onStop() と
コールバックされるように書いてある上、
実際にログを見て見てもそのような流れになっているのが見て取れるが、
こいつは間違い。
待機状態になった場合のコールバックは、あくまでonPause()のみであり、
onStop()が即座に呼ばれる保証は無い。
画面遷移後すぐに処理が必要となる場合は、onPause()に書かないと、
実機によっては動かない、なんてことになる。
次に2点目。
onActivityResult()は、いつ呼ばれるの? という話。
これはもう、SDKに書いてある。
http://developer.android.com/reference/android/app/Activity.html#onActivityResult(int, int, android.content.Intent)
onResume() の前である。
しかし実はコレ、ログを見るとonStart()の前に
呼ばれている(ことがある?)ので、
ドキュメントを見ないで間違えてる人もいるかも知れない。
基本的に、タイミング関連のことについては、
ドキュメントで確認したほうがいいです。
0 コメント:
コメントを投稿