계속해서 추가해갈 예정이다.
ViewModel 생성법도 추후에 적을 예정이다.
1. Activity, Fragment 등 view 에 해당하는 context를 참조하지 말것
- 메모리 누수가 생긴다고 한다.
- context가 필요한 경우, 만일 koin을 쓰고 있다면 생성자에 context를 추가하고, koin 에서 get()을 통해 념겨주기
또는, ViewModel Class 생성시 AndroidViewModel 을 상속받아 생성자에 포함된 application을 이용하자.
2. Fragment나 Activity를 ViewModel 에서 띄우지 말것.
한마디로 말해서, View 와 관련된 어떤것도 하지 말라는것이다.
요약하자면,
1. View 와 관련된 모든것 (UI 변경, Fragment나 Activity 띄우기 등)은 Activity랑 Fragment 에서 할것
2. ViewModel 은 Repository와 연관된, 즉 데이터 처리에 관련된 것만 할것
3. Activity나 Fragment <-> ViewModel 연동은 Livedata 혹은 반응형을 이용하여 연계할것
- 데이터가 수신되었을때 Activity나 Fragment에 이를 알리고, 해당 내용을 UI에 반영하게 하는것
'Android' 카테고리의 다른 글
SharedPreference (0) | 2023.01.26 |
---|---|
ViewModel 생성법 2가지 (0) | 2023.01.26 |
Livedata 를 적극 사용하자 (feat ViewModel - MVVM과 다르다!) (0) | 2023.01.25 |
MVVM 패턴을 꼭 적용하자! (Activity 생명주기, Bundle) (0) | 2023.01.13 |
[Fragment] Activity 에서 Fragment 호출 유의점 (Unable to instantiate fragment) (0) | 2023.01.13 |