createState
위젯을 생성
initState
최초 생성 때 한번만 실행
초기화 할 땐 이곳에서 추천
context가 없음
didChangeDependencies
최초 생성 때 한번
context에 접근이 가능
ex) provider, device해상도
Widget build
상태변화가 있을 때 호출
부모 위젯에서 업데이트 됐을 때 didChangeDependencies메서드 후 호출 됌
앱의 퍼포먼스가 떨어질 수 있기 때문에 주의
setState (@override)
상태가 바뀔 때 마다 호출.
앱 위젯이 마운트 됐을 때만 호출이 가능
if (mounted) ⇒ 로 체크 가능 안전성 증가
if (mounted) super.setState(fn);
didUpdateWidget
oldWidget(이전 상태의 나 자신)을 인자로 받게되어있음
변경 된 상태에 대한 추가적인 로직이 작성 가능
dispose
위젯이 사용되지 않을 때
사용되었던 것들이 영구적으로 삭제가 필요할 때
메모리 누수를 발생시켜서 앱의 퍼포먼스가 점점 떨어질 수 있으니 dispose를 습관화
ex)위젯에서 사용했던 컨트롤러들