[Compose Side Effect] Disposable Effect 란 무엇인가?
DisposeableEffect
는 side effects 처리도중 특정 상황에서 resource에 대한 해제가 필요할 때 사용한다.
DisposableEffect
의 Suspend
수명주기는 다음과 같다.
실행시점 | 종료시점 | 재실행 Tigger 조건 |
---|---|---|
Compostion enter | Composition leave | 파라미터의 key 값 변경 |
LaunchedEffect
와 기능적으로 동일하나, 재시작으로 인한 취소나, Compose leave 로 인한 코루틴 종료시 onDispose{..}
구문이 항상 호출된다.
DisposeableEffect(key) {
//Composable이 제거될 때 dispose 되어야 하는 효과 초기화
onDispose {
//Composable이 Dispose 될 때 호출되어 Dispose 되어야 하는 효과 제거
}
}