AAC ViewModel 2

AAC ViewModel은 어떻게 onDestroy에서 살아남을 수 있었을까

1. AAC ViewModel이란? AAC ViewModel(이하 ViewModel)은 ViewModelStoreOwner의 수명주기를 인식하며, 화면 회전같은 configuration change에서 데이터가 생존할 수 있도록 해준다. 또한 목적에 따라 ViewModel, onSaveInstanceState, Persistent Storage를 적절히 이용해 데이터를 저장할 수 있도록 한다. 이는 저장소 위치, 시스템에서 프로세스 중단시에도 데이터 유지, 사용자가 액티비티를 완전히 닫거나 finish()등 에서도 데이터가 유지되는지에 따른 차이가 있으니 필요에 맞게 단독 또는 조합하여 사용해야 한다. ViewModel은 onSaveInstanceState나 Persistent Storage와는 다르게 ..

Android 2022.09.14

AAC ViewModel 따라가기

서론 이번 포스트에서는 ViewModel을 사용은 하지만, 내부동작은 어떻게 이루어지는가에 대해서 잘 모르는 사람들을 위해 알아보려고 합니다(저포함)! 보통은 그냥 by viewModels()를 이용해 사용하는 방법만 알 뿐, 그 안에서는 어떤식으로 동작하는지는 크게 신경쓰지 않습니다. 그럼 이제 ViewModel에 대해서 먼저 알아본 뒤, 하나하나 따라가보겠습니다! 다만 이 포스트는 viewModels의 기본 사용법이므로, 아래와 같이 viewmodelFactory는 따로 만들어주지 않았습니다. viewModelFactory를 넣어주는 예시 private val githubViewModel: GithubViewModel by viewModels(factoryProducer = { GithubViewMo..

Android 2022.09.13