반응형
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
- 자바
- Coroutine
- 병렬프로그래밍
- 글또
- 회고
- 안드로이드스튜디오
- android
- k8s
- 테스트
- 코루틴
- Compose
- Rxjava
- mockito
- 책
- ReactiveProgramming
- kotlin강좌
- Kotlin
- 알고리즘
- 병럴프로그래밍
- 스레드
- 안드로이드강좌
- 커스텀상태
- 코틀린
- 안드로이드
- 디자인패턴
- g 단위테스트
- viewmodel
- Gradle
- theming
- 알게되는
Archives
- Today
- Total
선생님, 개발을 잘하고 싶어요.
[Android Compose] Composable Lifecycle 이해하기 본문
Composable의 라이프사이클은 Activity 라이프사이클에 비하면 무척 간단하다.
총 세 단계만 기억하면 된다.
Enter the Composition
Composable 함수가 Composition 트리에 추가되는 순간이다.
즉, 최초로 Composable 함수가 호출되는 순간이다.
Recompose 0 or more times
그러진 Composable에 State가 변경되면 UI를 다시 그려야 한다.
즉, 새로운 파라미터로 Composable 함수가 호출되는 순간이다.
Leave the Composition
Composable 함수가 Composition 트리에서 제거되는 순간이다.
Lifecycle 확인하기
아래 코드로 설명한 Composable 각 라이프사이클 단계에 로그를 심을 수 있다.
@Composable
fun MyComposable(state: State) {
log("Compose") // 최초 Compose, Recompose 시점에 호출
DisposableEffect(key1 = true) { // Composable Lifecycle 동안 1번만 호출하기 위해서 key로 true
log("Enter") // Composable이 Composition 트리에서 추가될 때
onDispose {
log("Leave") // Composable이 Composition 트리에서 제거될 때 호출
}
}
}
private fun log(msg: String) {
Log.d("MyComposable", msg)
}
참고자료
Comments