issues
search
lminsu
/
MovieTrailer
0
stars
0
forks
source link
MainViewModel 생성 함수 추가
#5
Closed
lminsu
closed
1 month ago
lminsu
commented
1 month ago
뷰모델 생성 함수 추가 - 뷰모델 생성 코드가 onCreate()에 같이 있으니 코드 보기가 불편하여 함수 생성함
hilt 사용 todo 추가
(참고) Fragment 초기화 때 뷰모델을 생성하면 안 되는 이유(onCreate() 때 뷰모델 생성한 이유)
Fragment 초기화 때 뷰모델 생성 시 아래와 같은 에러 발생함
Fragment가 Attach 되기 전에 뷰모델을 생성했기 떄문
ViewModelProvider를 통해 뷰모델을 생성할 떄
는 프래그먼트가 attach 안 되어 있으면 에러 발생함
(참고) 코틀린 생성자 관련 문서,
https://kotlinlang.org/docs/classes.html
(참고) 뷰모델 생성 시 ViewModelProvider를 사용하는 이유
configuration change 때도 뷰모델이 살아있을 수 있게 해줌(재생성 하지 않고 기존에 만들어져있던 것 사용함)
configuration change 때도 데이터 유지함
→ 더 나은 사용자 경험 제공, cpu 사용 측면에서 이득(뷰모델 및 데이터들을 새로 만들지 않아도 되서)
여러 프래그먼트가 하나의 뷰모델을 공유할 수 있음
→ 데이터 일관성 유지, 메모리측면에서도 이득(하나만 생성하니까)
ViewModelProvider를 통해 뷰모델을 생성할 떄
는 프래그먼트가 attach 안 되어 있으면 에러 발생함