LoginSignup
21

More than 5 years have passed since last update.

[Android]Activityのライフサイクル

Posted at

はじめに

    javaの基本的な理解はできている
    androidStudioの導入が完了している
同じく、開発初心者による備忘録のような形になります。
Day1.AndroidStudioにおけるプロジェクトの作り方
Day2.Androidアプリケーションの構成
Day3.アプリケーションのレイアウト
Day4.onClickListenerの実装とその後の処理

Activityのライフサイクル

Activityは「ライフサイクル」を持っています。文字の通りですがActivityの一生です。生まれてから(画面が呼び出されてから)死ぬまで(破棄される)までの流れのことです。
ライフサイクルを理解することでバグによる危険を回避することができます。

activity_lifecycle.png

上の画像はAndroid Developersの物です。
、これらのライフサイクルの状態はcallBackとしてActivityClassにまったく同じ名前で定義されています。
@Overrideで確認してみてください。
では下にそれぞれの特徴を記します。

onCreate

このメソドの実装は必須です。Activityが一番最初になる状態です。Activityが呼び出された際最初の一回だけこの状態になります。主にはActivityで必須なコンポーネントの初期化をします。また、UIを設置するためのlayoutをここで読み込みます。

.java
setContentView(R.layout.activity_main);

onStart

Activityが画面に呼び出されたとき(度)に呼び出されます。ユーザーがUIを使えるようにするまでの仕事をここで行います。

onRestart

ActivityがonStop状態の時に再度Activityが呼び出されたときにonRestartは呼び出される。ここの処理が行われたあとにonStartが呼び出される。

onResume

Activityが前面になるときに呼び出されます。

onPause

ユーザーがActivityを離れる前に呼び出されます。backGroundで動かす場合や閉じられる前にデータを保存しなければいけない場合はここで実施します。
また、この状態に入ったActivityをユーザーが再度呼び出した場合は、onResumeへと遷移します。
また、これが呼び出されたときに絶対にAcitivityが破棄されるわけではないので、もし破棄された際の処理をしたい場合はonDestoryを呼ぶ必要があります。
しかし、呼び出される可能性が絶対にあるわけではないのでそこはしっかり設計する必要があります。

onStop

Activityがユーザーから見えなくなったときに呼び出されます。

onDestory

Acitivytが終わるときに呼び出される。

Fragment

fragmentも独自のライフサイクルを持っています。
勉強会で必要になった時に加筆します。

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
21