A common question most android developers have when using RxJava is: how do I cache or persist the work done by my observables over a configuration change? If you start a network call and the user decides to rotate the screen, the work spent in executing that network call would have been in vain (considering the OS would re-create your activity). There are two widely accepted solutions to this problem: store the observable somewhere as a singleton, possibly apply the cache operator and re-sub...