뷰모델은 액티비티보다 긴 생명주기를 가진다. 따라서 이를 이용해 Configuration 변경 시(onDestroy() -> onCreate()) UI 상태값을 저장하고 다시 화면에 보여줄 수 있다.
위 그림에서 확인할 수 있듯, 액티비티의 onDestroy() 이후에 onCleared()가 호출된다.
🧐 onCreate()에서 새로운 뷰모델을 생성하지 않나요?
👉 ViewModelProviders.of를 이용해 뷰모델 인스턴스를 가져오는데, 만약 미리 생성된 인스턴스가 있다면 그걸 가져온다.
✅ 메모리 관련 이슈로 kill된 경우엔 뷰모델도 같이 kill되어 데이터를 유지할 수 없다
✅ EditText 값 같은 동적데이터는 자동으로 저장된다
https://medium.com/androiddevelopers/viewmodels-a-simple-example-ed5ac416317e