WidgetsBinding.instance.addPostFrameCallback

현재 프레임의 렌더링이 완료된 직후에 단 한 번 실행될 콜백을 등록하는 메소드로 등록된 콜백은 한 번 실행된 후 자동으로 제거된다.

 

특징

  1. 화면이 완전히 그려진 시점에 등록된 콜백 실행
  2. 화면생성 후 바로 context 참조 안정성이 보장된다. (스낵바 표시, 다이얼로그 출력, 페이지 이동)
  3. 위젯이 화면에 배치된 후 가 보장되므로, 특정 위젯의 실제 크기(size)나 위치(offset)을 정확히 참조 할 수 있다.

 

사용예시

...
  @override
  void initState() {
    super.initState();

    // AdMob 초기화
    MobileAds.instance.initialize();

    // 배너광고 생성: defer until after first frame so MediaQuery is available
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _createBannerAd();
    });
  }