Flutter에서 WidgetsFlutterBinding.ensureInitialized() 역할
FE/Flutter2024. 5. 3. 10:34Flutter 엔진 및 플러그인 초기화
Flutter에서 WidgetsFlutterBinding.ensureInitialized()
메서드는 Flutter 앱이 실행되기 전에 앱의 루트 위젯 생성, 리소스 로딩, 플러그인 초기화 등의 필요한 초기화 작업을 수행합니다.
일반적으로 main() 함수나 애플리케이션의 진입점에서 호출하여 사용합니다. (진입점에서 호출해야 애플리케이션이 시작될 때, 모든 초기화가 완료된 후 앱을 수행할 수 있기 때문)
초기화하는 영역을 자세하게 살펴보면,
Flutter 엔진 초기화
Flutter 엔진은 그래픽 렌더링, 이벤트 처리, 상태 관리 등과 같은 핵심 기능을 담당합니다. WidgetsFlutterBinding.ensureInitialized()는 Flutter 엔진을 초기화하는 역할을 합니다. (각 플랫폼에 맞는 Flutter 엔진 초기화 작업을 수행)
초기화가 완료되면 Flutter 엔진은 앱의 UI를 렌더링하고 사용자 이벤트를 처리할 수 있게 됩니다.
플러그인 초기화
앱을 개발하다보면 디바이스의 특정 기능을 사용하기 위해 플러그인을 사용합니다. 예를 들어,
- 카메라 플러그인
- 위치 플러그인
- 저장소 액세스 플러그인
- 등 ...
WidgetsFlutterBinding.ensureInitialized()는 엔진 뿐만 아니라, 플러그인도 초기화 작업을 수행합니다. 플러그인 초기화가 디바이스의 특정 기능에 액세스할 수 있게 됩니다.
초기화 방법
WidgetsFlutterBinding.ensureInitialized() 메소드만 호출하면 됩니다.
import 'package:flutter/material.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized(); // 초기화 작업
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
// ... 생략
}
}
'FE > Flutter' 카테고리의 다른 글
flutter에서 auto_route로 라우팅을 간편하게 구현 (0) | 2024.05.07 |
---|---|
RPS를 활용하여 pubspec.yaml에서 scripts 정의하고 사용하기 (0) | 2024.05.03 |
Named Routing을 사용한 라우팅(화면전환) 방법 (Flutter) (0) | 2023.12.03 |
Flutter(플러터) 설치 및 개발 환경 만들기 (0) | 2023.11.07 |
flutter 개발시 권한 획득하기 (camera, storage 등의 권한 획득 방법) (0) | 2023.10.01 |
IT 기술에 대한 글을 주로 작성하고, 일상 내용, 맛집/숙박/제품 리뷰 등 여러가지 주제를작성하는 블로그입니다. 티스토리 커스텀 스킨도 개발하고 있으니 관심있으신분은 Berry Skin을 검색바랍니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!