rememberCoroutineScope


[Compose Side Effect] rememberCoroutineScope을 이용해 Composable의 생명주기에 맞춰 코루틴 수행하기

컴포즈 함수 내부에서 쌩으로 코루틴을 수행할 경우, 만약 재구성(Recomposition)이 발생하면 , 이전 코루틴이 정리가 안된 상태로 계속해서 코루틴이 재실행되어 코루틴이 쌓일 수 있다.

**lifecycleScope**를 컴포즈함수에 사용할경우:

컴포즈 함수 내부에서 코루틴을 생성한다면, 컴포즈 함수가 Leave 될때 코루틴도 같이 Cancel 되어야 한다.

컴포즈는 이를위해 컴포즈함수의 수명주기를 따르는 코루틴 스코프를 반환하는 rememberCoroutineScope() 를 제공한다.

**rememberCoroutineScope**의 Suspend 수명주기는 다음과 같다.

실행시점 종료시점 재실행 Tigger 조건
Compostion enter Composition leave 재실행 없음 (이미 실행중인 suspend 함수는 재구성에 의해 중단되지 않음)