Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

One stream vs multicast

220 views

Published on

One stream vs multicast

Published in: Internet
  • Be the first to comment

  • Be the first to like this

One stream vs multicast

  1. 1. One Stream vs Multicast TossLab 정승욱
  2. 2. 과거 상황
  3. 3. A B C D 자료형 AB C D B 로직 수 행 UI 갱신 A 로직 수 행 UI 갱신 C 로직 수 행 UI 갱신
  4. 4. 문제 상황
  5. 5. B 로직 수 행 UI 갱신 A 로직 수 행 UI 갱신 C 로직 수 행 UI 갱신 먼저 수행한 로직이 이전 수행 로직보다 UI 갱신이 늦 다면? AB C
  6. 6. 해결을 위한 검토 1 Multicast 사용
  7. 7. onNext A B C A-Sub B-Sub C-Sub
  8. 8. onNext A B C A-Sub B-Sub C-Sub 문제점 consume 1초 소요 consume 0.1초 소 요 consume 0.3초 소 요 A1 B3 C5 A2 B4 Stream B4 A2 B3 A1 실제 Consume C5
  9. 9. 해결을 위한 검토 2 Observable 변조
  10. 10. onNext A B C A-onNext B-onNext C-onNext A Compose B Compose C Compose concatMap Subscribe
  11. 11. 현재 상황
  12. 12. A1 B3 C5 A2 B4 Stream B4 A2 B3 A1 실제 Consume C5 consume 소요 시간 A : 1초 B : 0.3 초 C : 0.1 초
  13. 13. Multicast VS OneStream 로직의 순서가 상관없다면 Multicast 전략 적용법 Subject 또는 Observable.publish() -> ConnectableObservable 로 변환 로직 순서의 일관성 유지라면 One Stream 전략 데이터에 따라 다른 로직 적용법 1. 분기 지점에서 concatMap 2. concatMap 내부에서 새로운 Observable.just 선언 3. doOnNext 등을 사용하여 데이터를 consume https://github.com/gdgand/android-rxjava/tree/master/2016-06-22- OneStream_VS_Multicast/src/main/java/com/gdgand/rxjava/onestreamvsmulticast/command

×