• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

Flow lifecycleScope에 대해서 궁금한 게 있습니다.

23.01.29 21:55 작성 조회수 266

0

안녕하세요.

lifecycleScope.launchWhenStarted와

repeatOnLifecycle의 차이점과

어느때 각각 사용하면 좋을지 궁금합니다.

답변 1

답변을 작성해보세요.

1

launchWhenStarted는 처음에 한 번만 실행되고 그 다음 생명주기가 돌아와도 실행되지 않으나, repeatOnLifecycle은 지정한 생명주기가 돌아올 때마다 코루틴 블록을 실행하고 생명주기가 끝날 때 코루틴을 취소합니다.

.이들 API는 flow가 생명주기를 인식하지 못하는 부분을 보완하기 위해서 만들어졌는데 구글에서는 launchWhenStarted 보다 repeatOnLifecycle을 사용하도록 권고하고 있습니다. 구체적인 배경과 사용예에 대해서는 repeatOnLifecycle API design story 를 참고하시면 좋을 것 같습니다.