Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
Tags
- 백준 10819
- 1806 파이썬
- java
- Jetpack Room
- 1753 다익스트라
- flow buffering
- 1753 파이썬
- 자료구조
- 투포인터 알고리즘
- 2096 파이썬
- 코루틴 플로우
- 1644 파이썬
- 5582 파이썬
- 백준 5582
- 10819 파이썬
- 백준 2096
- 1806 백준
- android hilt
- git local remote
- 1806 투포인터
- 안드로이드 hilt
- 6588 파이썬
- 5582 DP
- Coroutine Flow
- Android mvp
- 1003 파이썬
- Android Room
- 자바
- 백준 1644
- 이진 탐색
Archives
- Today
- Total
Gemstone's Devlog
ViewModel 인스턴스가 액티비티 인스턴스에 대해 강한 참조를 갖는다면? 본문
장치 회전 시에 액티비티 인스턴스는 소멸되지만, ViewModel 인스턴스는 메모리에 남는다.
그런데 ViewModel 인스턴스가 액티비티 인스턴스에 대해 강한 참조를 가지면 다음 두 가지 문제가 생길 수 있다.
첫째, 액티비티 인스턴스가 메모리에서 제거되지 않아서 이 인스턴스가 사용하는 메모리가 유실된다.
둘째, ViewModel 인스턴스가 현재 사용되지 않는 과거 액티비티의 참조를 갖게 되어 ViewModel 인스턴스가 과거 액티비티의 뷰를 변경하려고 하면 IllegalStateException이 발생한다.
'Kotlin (Android)' 카테고리의 다른 글
ViewModel과 SIS(Saved Instance State) (0) | 2022.01.17 |
---|---|
지연초기화(Lazy Initialization) 자세히.. (0) | 2022.01.17 |
Paging3 라이브러리 공부 (0) | 2022.01.10 |
Retrofit2 Multipart 사용하기 (Java) (0) | 2022.01.07 |
MVVM 패턴 공부 (코드분석) (0) | 2022.01.06 |