-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
일회성 이벤트를 처리하는 방법을 SharedFlow 에서 Channel 로 변경
- SharedFlow 의 경우 Shared 라는 키워드 처럼, 여러 Observer 가 동시에 event 를 구독할 수 있음, Channel 은 단일한 Observer - 일회성 이벤트의 경우 해당 이벤트를 구독하는 Observer 는 그 화면 하나가 전부(하나의 구독자를 위한 이벤트) - 또한 sharedFlow 는 hotFlow 이기 때문에 observer 가 존재하지 않는 경우에도 계속 이벤트를 방출함, 따라서 앱이 백그라운드에 진입했을 때 에도, 계속해서 이벤트가 방출됨 - 앱이 백그라운드에 진입할 경우, Observer 는 이벤트를 수집하지 않기에, 백그라운드에 진입된 동안 sharedFlow 가 방출한 이벤트들은 유실됨 - 따라서 이벤트를 방출하는 동안 configuration change 가 발생할 경우, 극히 적은 확률이지만 이벤트가 유실될 가능성이 존재 - Channel 의 경우 백그라운드에 진입하여 이벤트를 수집할 구독자가 존재하지 않을 경우, 이벤트를 캐싱하고, 다시 구독자가 수집을 시작할 경우, 캐싱한 이벤트를 방출함 - Channel 역시 이벤트가 방출되는 동안 configration change 가 발생할 경우, 이벤트가 유실될 가능성이 존재하지만 ObserveAsEvent 함수가 이를 방지할 수 있음
- Loading branch information
Showing
5 changed files
with
38 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters