リスト 5.11


import 'package:flutter/material.dart';

void main() => runApp(LifecycleDemo());

// リスト 5.11
class LifecycleDemo extends StatefulWidget {
  const LifecycleDemo({Key? key}) : super(key: key);

  @override
  _LifecycleDemoState createState() => _LifecycleDemoState();
}

class _LifecycleDemoState extends State<LifecycleDemo>
    with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance?.addObserver(this);
  }

  @override
  void dispose() {
    WidgetsBinding.instance?.removeObserver(this);
    super.dispose();
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    print('AppLifecycleState: $state');
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Lifecycle',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Lifecycle'),
        ),
        body: Center(child: Text('ライフサイクル'))
      )
    );
  }
}