티스토리 뷰

Android

Single 과 Observable의 차이

갈치참치꽁치멸치 2019. 12. 29. 20:14

Retrofit에 Rx를 같이 적용하면서 생긴 궁금증이었다.

 

처음에 Observable을 이용하여 만드는 소스를 봐서 당연히 Observable을 사용해야한다고 생각했었는데

Single을 사용해보라는 이야기를 들었는데 찾아보니 Observable에는 종류가 있었다.

과연 Single과 Observable에는 어떤 차이가 있을까?

 

먼저 Observable은 전송된 데이터를 관찰하는 관찰자 클래스이다.

따라서 Retrofit에서 데이터가 오는 것을 관찰하고있는다.

 

Observable은 데이터가 전송되는 것을 계속 감지하게되는데

내가 사용한 REST API에서는 데이터를 1번 request하고 그에 대한 응답을 받은 뒤에는 계속해서 관찰할 필요가 없었다.

계속해서 관찰하는게 결국엔 메모리 낭비가 됨으로 dispose를 직접 해줬어야했는데 Single을 이용하면 그렇지 않다.

 

Single도 마찬가지로 데이터를 관찰하지만 Single은 데이터를 한 번만 받는다.

즉, 데이터를 받게되면 더이상 데이터가 전송되는지에 대해 감지하지 않는다.

따라서 내가 일일히 dispose 해줄 필요가 없으므로 나 같은 경우에는 Single을 사용하는 것이 훨씬 편리한 개발을 진행할 수 있는 것이었다.

 

 

이런식으로 Observable의 종류는 Single 뿐만 아니라 maybe, Completable 등이 존재한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함