LoginSignup
4
3

More than 5 years have passed since last update.

Activityのライフサイクル

Posted at

概要

Activityのライフサイクルメソッドを理解してコーディングすることは非常に重要です。
以下に各メソッドの大枠の役割を記載致します。

コールの順番 メソッド名 役割
1 onCreate 画面が可視化される前の初期処理を行う
2 onStart 画面が可視化される直前の処理を行う
3 onResume 画面が可視化される状態の処理を行う
4 onPause 画面が別の画面へ遷移する際の処理を行う
5 onStop 画面が見えなくなった際の処理を行う
6 onDestroy 画面が破棄される直前の処理を行う

詳細

oncreate

  • アクティビティが作成された際に、一度だけ初期化されるべきリソースの初期化を行う。
  • 回転などによって破棄されて作り直される場合、前の状態が保存されていれば、onCreate()の引数であるBundleオブジェクトが渡される。

onStart

  • Activityをユーザーに見せる直前に呼び出される
  • onStart()が呼び出されてからonStop()が呼び出されるまでがユーザーに画面が表示されている期間なので、ここで、バックグラウンド処理のコールバックの登録などを行ったりする。 例えばonStart()メソッドの中でブロードキャストレシーバを登録して、UIに影響を与える変化を起こす通知がこないか監視するようにし、onStop()でその登録を解除する。

onResume

  • Activityが復帰する時や、新しいインテントが届いた時に呼び出される
  • Activityが最前面に来ていて、ユーザーと対話状態になる直前に重い処理を 挟むと表示されてしばらく操作できないということになるので、 ここで呼び出す処理は可能な限り軽くすることを推奨。

onPause

  • Androidが別のActivityへ遷移しようとするタイミングで呼び出される。
  • ユーザーとの相互作用を停止するための準備。

onStop

  • Activityがユーザーから見えなくなったときに呼び出される
  • 上記が起こるのは、Activityが破棄される場合と、別のActivityに隠される場合がある
  • onStart()メソッドの中で設定した、UIに変化を起こすバックグラウンド処理の監視などを解除する。

onDestroy

  • Activityが破棄される直前に呼び出される。
  • onCreateで取得したリソースを解放するのが一般的。
4
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3