Android

eventFlow 방식으로 이벤트를 처리하고 있을 때 든 생각

최데브 2023. 7. 5. 00:26

보통 sealed class 를 이용해서 각 이벤트마다 따로 묶어서 기능의 성격에 맞게 구분하는데

한 액티비티에 프래그먼트가 3개가 들어있는 화면이 있다고 가정하자

그리고 액티비티의 viewModel 을 모두가 공유하고 있는 상황일때

 

하나의 event flow 만을 이용해서 처리하면 각 프래그먼트에서 같은 flow 를 콜렉트 하는 상황이 생긴다.

이러면 다른 이벤트를 처리하기전 기존의 flow 를 해제해주지 않으면 한 곳에서 진행중인 collect 가
다른 프래그먼트로 가야할 데이터를 계속 가져가서 원하는 화면에서 원하는대로 동작하지 않는 상황이 생긴다.

 

그래서 내린 결론은 event flow 는 한 액티비티나 한 프래그먼트에서 즉, View 를 기준으로 같이 쓰이는 애들끼리 묶어서 따로 만들어주는게 관리하기도 편하고 예상치 못한 에러가 발생할 가능성도 낮다.

 

그냥 생각나서 끄적끄적

반응형