今回は、flutterで作成したアプリのライフサイクルについてメモしていきたいと思います。
ライフサイクル
- AppLifecycleState.inactive
- アプリは表示されているが、フォーカスがあたっていない状態(非アクティブ)
- AppLifecycleState.paused
- アプリがフォアグラウンドからバックグラウンドに切り替わるときの状態
- AppLifecycleState.resumed
- アプリがバックグラウンドからフォアグラウンドに切り替わるときの状態
- AppLifecycleState.detached
- アプリ終了時の状態(破棄時)
状態ごとに処理を分ける
class _MyPageState extends State<MyPage> with WidgetsBindingObserver {
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
print("stete = $state");
switch (state) {
case AppLifecycleState.inactive:
break;
case AppLifecycleState.paused:
break;
case AppLifecycleState.resumed:
break;
case AppLifecycleState.detached:
break;
}
}
.........
}
- アプリケーションのライフサイクルの取するためにWidgetsBindingObserverを追加します。
- didChangeAppLifecycleState:状態が変更されるたびに呼ばれます。
- didChangeAppLifecycleStateで状態によって処理を記述します。
