작성
·
301
0
안녕하세요.
lifecycleScope.launchWhenStarted와
repeatOnLifecycle의 차이점과
어느때 각각 사용하면 좋을지 궁금합니다.
답변 1
1
launchWhenStarted는 처음에 한 번만 실행되고 그 다음 생명주기가 돌아와도 실행되지 않으나, repeatOnLifecycle은 지정한 생명주기가 돌아올 때마다 코루틴 블록을 실행하고 생명주기가 끝날 때 코루틴을 취소합니다.
.이들 API는 flow가 생명주기를 인식하지 못하는 부분을 보완하기 위해서 만들어졌는데 구글에서는 launchWhenStarted 보다 repeatOnLifecycle을 사용하도록 권고하고 있습니다. 구체적인 배경과 사용예에 대해서는 repeatOnLifecycle API design story 를 참고하시면 좋을 것 같습니다.