일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- DataBinding
- Android
- hilt
- AppBarLayout
- Navigation
- CustomView
- 알고리즘
- Behavior
- Coroutine
- LiveData
- 알림
- CollapsingToolbarLayout
- 안드로이드
- sqlite
- kotlin
- HTTP
- View
- notification
- room
- onMeasure
- recyclerview
- BOJ
- lifecycle
- 백준
- onLayout
- Algorithm
- ViewModel
- CoordinatorLayout
- 코틀린
- activity
- Today
- Total
목록ViewModelProvider (2)
개발일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YMpFM/btqVqGFRGTU/QfsVCYCkZyy0pA8FUorgE1/img.png)
ViewModelProvider ViewModel을 사용할 때 ViewModel을 직접 생성하는 것이 아닌 ViewModelProvider를 통해서 ViewModel를 요청하게 된다. ViewModel을 직접 생성자를 통해 생성하면 ViewModel을 잘못하용 하는 것이다. ViewModel 생성과정 ViewModelProvider를 통해 ViewModel을 요청한다. ViewModelProvider생성자로 ViewModelStoreOwner(Activity, Fragment), ViewModelProvider.Factory를 넘겨받는다. ViewModelProvider는 ViewModelStoreOwner를 참조하여 ViewModelStore에 ViewModel을 요청한다. ViewModelStore에..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vcwmt/btqVswXc91R/EnxsYqkZHWa4K1k0NtOCk1/img.png)
ViewModel Android Jetpack의 구성요소이며 UI관련 데이터를 관리하도록 설계되었습니다. UI관련 Data를 Activity, Fragment와 분리시켜 관리하면서 많은 이점을 얻을 수 있습니다. 장점 Android에서 Activity와 Fragment의 수명주기를 관리하기 때문에 Android에서 UI 컨트롤러를 제거하거나 다시 만드는 경우 데이터가 삭제되지만 ViewModel은 독립된 수명주기를 가지기 떼문에 데이터를 유지할 수 있습니다. UI관련 Data를 비동기적인 호출로 받아올 때 메모리 누수를 신경쓰거나, 비동기 호출을 관리하는 코드가 필요하거나 UI 컨트롤러가 변경될 경우 이미 호출한 코드를 다시 호출해야하는 경우가 생길 수 있지만 ViewModel을 재사용하면서 이러한 불편..