アプリの主要なステージとイベント
アプリのライフサイクルは、いくつかの主要なステージに分けることができる。
各ステージには特定のイベントや処理が関連している。
ランチスクリーンの表示
-
起動(Launch)
ユーザーがアプリをタップし、システムがアプリを起動する。
この時点ではまだアプリのUIは表示されてないが、ランチスクリーン(起動画面)が表示される。 -
application(_:willFinishLaunchingWithOptions:)
アプリが起動し、基本的な設定が行われる前に呼ばれるメソッド。初期化の準備などが行われる。 -
application(_:didFinishLaunchingWithOptions:)
アプリの起動が完了し、基本的な設定が終了した後に呼ばれるメソッド。
フォアグラウンド/バックグラウンドへの移行
-
アクティブ(Active)
アプリがフォアグラウンドで実行され、ユーザーの操作を受け付ける状態。 -
非アクティブ(Inactive)
アプリがフォアグラウンドでありながらも、ユーザーの操作を受け付けない状態。
(例:電話がかかってきた場合など) -
バックグラウンド(Background)
アプリがフォアグラウンドからバックグラウンドに移行する際の状態。
バックグラウンドでは、一部の処理が継続されるが、ユーザーの操作を受け付けることはない。 -
applicationDidEnterBackground(_:)
アプリがバックグラウンドに移行する直前に呼ばれるメソッド。 -
applicationWillEnterForeground(_:)
アプリがバックグラウンドからフォアグラウンドに移行する直前に呼ばれるメソッド。
アプリの中断や終了
-
中断(Suspended)
アプリがバックグラウンドで実行されているが、システムによって一時停止された状態。
メモリ節約のため、必要な情報は保持されるが、処理は停止している。 -
終了(Terminated)
アプリが完全に終了し、システムから削除された状態。 -
applicationWillTerminate(_:)
アプリが終了する直前に呼ばれるメソッド。
これらのステージや関連するイベントは、UIApplicationDelegate
プロトコルのメソッドを介してアプリのライフサイクルを管理します。
おわりに
IOS開発がんばるぞい!