프로그래밍 일반/Flutter 프로그래밍
[flutter] Get.lazyPut 활용
지노윈
2024. 11. 12. 06:42
반응형
getPages: [
GetPage(name: '/', page: () => const App()),
GetPage(name: '/home', page: () => const HomePage()),
GetPage(
name: '/login',
page: () => const LoginPage(),
binding: BindingsBuilder(() {
Get.lazyPut<LoginController>(() => LoginController(Get.find<AuthenticationRepository>()));
})
),
]
Get.lazyPut을 사용하는 이유는 특정 컨트롤러 인스턴스를 필요할 때만 생성하기 위해서입니다. 즉, 해당 페이지에 접근하는 순간에만 컨트롤러가 초기화되도록 합니다. 이는 애플리케이션의 리소스 사용을 최적화하고, 불필요한 메모리 소비를 줄이는 데 도움이 됩니다.
다음 코드는 페이지 라이팅의 일부 코드이며 lazyPut을 사용하고 있습니다.
책 '클론 코딩으로 배우는 플러터 앱 개발의 모든 것'에서 코드 참고
메모리 최적화: 필요할 때만 인스턴스를 생성하므로 메모리 사용을 최소화합니다.
성능 향상: 애플리케이션 시작 시 불필요한 컨트롤러 초기화 작업을 수행하지 않으므로 성능이 향상될 수 있습니다.
의존성 주입 효율화: LoginController의 생성자에서 다른 객체(AuthenticationRepository)를 필요로 할 때, 애플리케이션의 다른 부분에서 사용되는 객체를 찾을 수 있습니다.