상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - LiveData의 데이터 흐름 모델은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
LiveData는 안드로이드 아키텍처 컴포넌트의 일부로, UI와 데이터 간의 통신을 안전하고 효율적으로 관리하기 위해 설계된 관찰 가능한 데이터 홀더(Observable Data Holder)입니다. LiveData의 데이터 흐름 모델은 MVVM(Model-View-ViewModel) 아키텍처 패턴에 최적화되어 있으며, 주로 다음과 같은 흐름으로 작동합니다. 1. 데이터 제공자 (Data Source / Model Layer) 데이터는 Repository 또는 다른 데이터 소스 레이어에서 생성되거나 수정됩니다. 이 레이어는 네트워크 호출, 데이터베이스 쿼리, 캐시 조회 등 모든 실질적 데이터 처리 및 조작을 담당합니다. 2. LiveData 객체에 데이터 저장 및 업데이트 ViewModel 내에서 LiveData 객체가 선언되어 있으며, 데이터 소스에서 변경된 데이터를 LiveData에 저장하거나 업데이트합니다. 이 때 LiveData는 내부적으로 상태 변화를 감지합니다. 3. Observers 등록 및 연결 (View Layer) Activity나 Fragment와 같은 UI 컴포넌트는 이 LiveData 객체에 옵저버(observer)를 등록합니다. 옵저버는 LifecycleOwner를 통해 연결되며, 이를 통해 UI 컴포넌트의 생명 주기 상태에 따라 구독 상태가 자동으로 관리됩니다. 4. 데이터 변경 시 알림 및 UI 업데이트 LiveData 내부 데이터가 변경되면 등록된 옵저버에게 해당 변경 사실을 알립니다. 옵저버는 onChanged() 콜백을 호출받아, 그 안에서 UI 업데이트 로직을 실행하여 화면이 최신 데이터 상태를 반영하도록 합니다. 5. 라이프사이클 인식으로 메모리 누수 방지 및 성능 최적화 LiveData는 LifecycleOwner(예: Activity, Fragment)의 상태를 인식하여, UI가 활성 상태일 때만 데이터를 전달합니다. 예를 들어, 화면이 백그라운드에 있거나 종료된 상태에서는 업데이트 알림이 전달되지 않으며, 이로 인해 불필요한 연산이나 메모리 누수를 방지합니다. 종합하면, LiveData 데이터 흐름 모델은 데이터 소스 → LiveData → 옵저버(View) 순의 단방향 스트림이며, 데이터 변경 시 LiveData가 관련 UI 컴포넌트에 자동으로 신호를 보내서 실시간 업데이트가 가능하도록 하는 구조를 갖고 있습니다. 또한 Lifecycle과 결합해 UI 상태 변화에 민감하게 반응함으로써 안전하고 효율적인 데이터 바인딩을 지원합니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기