Androidアプリを作っていると、必ず学ばないといけないライフサイクル。
ここではアクティビティのライフサイクルについて簡単にまとめてみました。
*アクティビティとフラグメントのライフサイクルは違います。
ライフサイクルとは
ライフサイクルの概念はAndroidアプリ開発にて必須になります。
ライフサイクルとは、
画面の生成から、破棄までの一連の流れ のことです。
ライフサイクルの解説
onCreate()
アクティビティにおいて、必ず実装しなければいけないメソッドです。
アクティビティが最初に起動されるときに呼ばれます。
レイアウトの生成や、最初に1回だけ実行される初期処理などがここで行われます。
onStart()
アクティビティが生成される直前に呼ばれます。
何回も呼ばれる可能性があります。
onResume()
画面を表示した回数と、onResume()を呼び出す回数は等しくなります。
画面が非表示になったとき、再度読み込む際もこのonResume()からスタートします。
画面に表示させるデータの設定などをします。
onPause()
onResume()と一緒に使われることが多く、
カメラやハードウェアへのアクセスや、
大きなリソースを解放する時に使われる。
アクティビティAからアクティビティBを呼び出す場合、
アクティビティAのonPause()が完了するまでは、
アクティビティBの作成は始まらない。
そのため、onPause()で長時間かかる処理を書かないほうがいい。
onStop()
アクティビティがユーザーから見えなくなった時に呼ばれる。
onDestroy()
アクティビティが完全に破棄されるときに実行されるメソッドです。
onCreate()に対応して一度しか呼ばれることがありません。
アクティビティの活動要求
onCreate()画面の生成
onResume()画面表示直前
〜画面表示中〜
onPause() 他アプリの割り込み
onStart() 画面非表示
onDestory() 画面の破棄
参考にしたサイト
https://qiita.com/kimto341/items/48ef6806d0866cd050d8
http://memento-mori-blog.com/android-activity-lifecycle/