Android(Kotlin)

Android ViewModel

개복치 개발자 2021. 8. 18. 13:52

 안드로이드 뷰모델(ViewModel)에 대해서 알아보겠습니다.

 

 가장 중요한게 이걸 왜 쓰는가? 인데, 이 것을 검색해보면 이런 이미지가 나옵니다.

 

https://developer.android.com/topic/libraries/architecture/viewmodel?hl=ko

 

 이렇게 나오고 설명이 아래와 같이 나와있습니다.

 

 일반적으로 시스템에서 활동 객체의 onCreate() 메서드를 처음 호출할 때 ViewModel을 요청합니다. 시스템은 활동 기간 내내(예: 기기 화면이 회전될 때) onCreate() 메서드를 여러 번 호출할 수 있습니다. ViewModel이 처음 요청되었을 때부터 활동이 끝나고 폐기될 때까지 ViewModel은 존재합니다.

 

 설명은 요약해보면, 여기까지 보면 onCreate()를 여러번 호출해도 viewModel이 유지된다. 정도로 요약할 수 있는데, 뷰모델을 사용하지 않고 제가 화면을 회전하면 어떻게 되는지 한번 보겠습니다.

 

 아래와 같이 간단한 카운팅 앱을 만들어봤습니다.

 

 

 

 여기까지 하면은,  간단하게 카운팅이 되는데, 문제가 얘를 뒤집거나 하면 화면이 초기화 되는 문제가 발생합니다.

 

 한번 뒤집어보면 아래와 같이, 이전에 2가 카운팅되었는데, 지금은 카운팅되고 있지 않습니다.

 

 

 이런 문제점들을 ViewModel을 사용하면 간단하게 처리해줄 수 있습니다.

 

 

 

 

 

 

 

 

'Android(Kotlin)' 카테고리의 다른 글

Fragment LifeCycle  (0) 2021.08.19
LiveData ViewModel  (0) 2021.08.18
데이터바인딩(databinding) 양방향 binding  (0) 2021.08.18
Android ViewBinding VS DataBinding  (0) 2021.08.18
Kotlin lambda  (0) 2021.08.16