파파비의 블로그
플러터, flutter) Widget의 LifeCycle 본문
stateless widget 의 LifeCycle은 쉽습니다.
생성자 > Build()
이게 전부입니다. immutable한 객체이다 보니 이게 끝입니다.
stateful widget은 다릅니다.
stateful widget의 생성자 > stateful widget의 create state >
state의 생성자 > state의 init state > build > didupdatewidget > build > dispose
이렇게 있을 수 있습니다.
stateful widget의 생성자는 build가 실행될 때마다 다시 실행됩니다. 매우 여러번 실행됩니다.
but,
stateful widget의 create state, state의 생성자, state의 init state 은 한번씩만 실행됩니다.
state의 init state 은 주로 초기에 연결이나 어떤 초기 작업을 해둘 때 자주 쓰고,
didupdatewidget > 위젯이 바뀌어서 업데이트 될 때에만 실행됨,
참고 : https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html
Called whenever the widget configuration changes.
Override this method to respond when the widget changes (e.g., to start implicit animations).
애니메이션 같은 것들을 진행할 때는 계속 위젯의 모양이나 그런 것들이 바뀌기 때문에
(계속 stateful위젯이 형성되고, 그래서 생성자와, didupdate이 계속 호출됨)
dispose는 마지막에 객체가 지워지기 직전에 실행되며,
clean up하기에 자주쓰는데, 서버에 연결을 끊거나 할 때 자주 쓰인다.
'개발 > flutter' 카테고리의 다른 글
플러터, flutter) List와 Stateful 위젯을 함께 쓸 때의 Problem(key의 필요성 인식) (0) | 2020.05.28 |
---|---|
플러터, flutter) App의 LifeCycle (0) | 2020.05.28 |
플러터, flutter) Widget Tree의 Build() 관련 최적화 (0) | 2020.05.28 |
플러터, flutter) 플러터 이해하기 - Widget, Element, Render Tree & context (0) | 2020.05.28 |
플러터, flutter) 운영체제 파악하기 & adaptive 한 위젯 만들기 (0) | 2020.05.27 |