왜 이것을 정리하는가?
Compose로 마이그레이션 중 remember
를 사용하는 코드들을 발견했다. 이를 알아보니 Compose의 상태 관리와 깊은 연관이 있다는 것을 알게 되었다. 이에 따라 이를 최대한 간단하게 정리해본다.
1. Compose의 생명주기
Compose의 생명주기는 기존의 Activity
나 Fragment
와 비교했을 때 훨씬 간단하다. 다음 세 가지 주요 상태가 존재한다.
- 첫 생성 시
- UI를 구성하는 데이터가 변경되었을 시
Composable
이 파괴될 때
2. remember란?
remember
는 상태(State)가 변할 때 recomposition이 발생하는데, 이때 이전 상태를 기억해야 할 경우 사용하는 키워드다. 예를 들어, 텍스트를 입력하는 경우 remember
를 사용하지 않으면 recomposition
이 발생하면서 입력한 텍스트를 기억하지 못한다.
3. MutableState
remember
와 함께 자주 사용되는 MutableState<T>
는 상태의 변화를 자동으로 감지하고 그 변화에 반응하는 구조다. 즉, UI에서 특정 상태가 변경되면 이를 기반으로 화면이 자동으로 갱신된다.
4. rememberSaveable
rememberSaveable
은 화면 회전이나 프로세스 종료와 같은 이벤트가 발생해도 상태를 유지하는 데 사용된다. remember
와 유사하지만 rememberSaveable
은 상태를 Bundle
에 저장해 구성 변경 시에도 값을 보존한다.
이와 같은 방식으로 선언 후 사용한다.
마치며...
이번 글에서는 Compose에서 remember
와 상태 관리를 최대한 간단하게 다루었다. 아직 Compose를 시작한 지 얼마 안 되었기 때문에 사용하면서 점점 더 자세하게 알게 될 것이다. 추후 더 깊이 이해하게 되면 다시 정리할 수도 있다.
'안드로이드 > 공부 및 정리' 카테고리의 다른 글
[Android]Android Studio 펀치홀/노치 대응 (0) | 2024.09.09 |
---|---|
[Android]accompanist-permissions을 사용한 권한 요청과 GPS를 이용한 위치 추적 (0) | 2024.09.09 |
[Android]Compose에서의 NaverMap (0) | 2024.08.30 |
[Android]기존 xml 코드를 Compose로 마이그레이션 하며 참고할 것 (0) | 2024.08.27 |
[Android]Compose 에서의 Navigation 기본 사용법 (0) | 2024.08.23 |