• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

eventStream 중지에 대해

23.01.13 14:34 작성 조회수 241

0

ViewModel을 하나만 생성하고 재활용할 때,

eventController는 하나인데 listen하고 있는 화면은 계속 생성되고 메모리에 남아있어서

저장을 한 번 할때마다 이벤트가 여러 곳에 날라가는 것 같습니다.

해결 방법으로는 화면이 dispose 되면 eventController를 cancel 해주거나,

ViewModel을 계속 생성하거나 (eventController가 계속 생성되고 전에 것들은 메모리에 남아있어서 좋은 방법은 아닌 것 같습니다.)

unMounted 일 때 return; 해버리면 될 것 같습니다.

답변 1

답변을 작성해보세요.

1

ViewModel을 공유하는 것 보다 화면마다 ViewModel을 하나씩 가지는 것이 가장 좋은 방법인 것 같습니다.

그럼 위와 같은 처리를 하지 않아도 되니까요.

그리고 말씀대로 listen() 이 리턴하는 Subscription 객체를 적절히 cancel() 하는 것이 좋습니다.