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 | 31 |
Tags
- 리드미
- test
- Android
- Constraint Layout
- 더티비트
- coroutine flow
- android study jam
- Di
- 마크다운
- markdown
- SOLID
- kotlin
- 깃허브
- JUnit
- 데드락
- 운영체제
- github
- Class.class
- OS
- Data Binding
- git
- design pattern
- spring
- LiveData
- Compose
- JetPack
- Spring Boot
- readme
- 다단계 큐
- O.S
Archives
- Today
- Total
차지
[Android] LiveData 본문
LiveData
- LiveData는 관찰자 패턴의 활용한 Data Holder로 볼 수 있습니다.
- 간단하게 말해서 value를 set, post하는 과정을 Observe 합니다.
val liveData = MutableLiveData<String>("") val test = "" val setTest = "a" // observe liveData.observe(this, Observer{ test = it } // set value liveData.value = setTest // post value liveData.postValue(setTest)
장점
- LifeCycle의 변화를 인식하기 때문에 필요하지 않을 때 메모리를 절약하는 방법이 될 수 있습니다. (Destroy에 자동 메모리 해제)
- 또한 LifeCycle에 대응하지 못해 발생하는 오류도 없습니다. (사용자의 갑작스런 조작으로 인한 pause, destroy 등을 대응)
단점
- lifeCycle에 대응하기 때문에 Test를 진행할 때 Destroy 상태에도 관찰되도록 설정해줘야 합니다.
- java 코드를 가져다 쓰기 때문에 기본적으로 null이 허용되는 자료구조를 갖고 있고 kotlin에서는 null 예외처리가 필요합니다.
'Android > Android' 카테고리의 다른 글
| [Android] ViewModel (0) | 2021.09.21 |
|---|---|
| [Android] Recycler View (0) | 2021.09.21 |
| [Android] MVC 구조 (0) | 2021.09.21 |
| [Android] Collection 함수 (0) | 2021.07.24 |
| [Android Study Jam] Unit 5: Lifecycles and logging (0) | 2021.04.13 |