main 메소드에서 비동기 메소드 사용시 반드시 추가해야하는 한줄

김은상·2022년 10월 5일
0

Flutter는 main 메소드를 앱의 시작점으로 사용합니다. main 메소드에서 서버나 SharedPreferences 등 비동기로 데이터를 다룬 다음 runApp을 실행해야하는 경우 아래 한줄을 반드시 추가해야합니다.

WidgetsFlutterBinding.ensureInitialized();



void main() {
  WidgetsFlutterBinding.ensureInitialized();
  Timer(Duration(seconds: 10), () {
    runApp(MyFlutterApp());
  });
}

이 메소드는 async-await의 경우에도 마찬가지로 필요합니다. runApp 메소드의 시작 지점에서 Flutter 엔진과 위젯의 바인딩이 미리 완료되어 있게만들어줍니다. runApp : https://pub.dev/documentation/flutter_for_web/latest/widgets/runApp.html WidgetsFlutterBinding.ensureInitialized : https://api.flutter.dev/flutter/widgets/WidgetsFlutterBinding/ensureInitialized.html
profile
Flutter 시작

0개의 댓글