There are definitely times you would want to manually call connect() on ConnectableObservable to precisely control when the emissions start firing. There are also operators that automatically call connect() for you, but with this convenience, it is important to have an awareness of their timing behavior. Allowing an Observable to dynamically connect can backfire if you are not careful, as emissions can be missed by observers.
Automatic connection
autoConnect()
The autoConnect(int numberOfSubscribers) operator on ConnectableObservable can be quite handy. For a given ConnectableObservable<T>, calling autoConnect(int numberOfSubscribers) will return an Observable<T> that will automatically call connect() after a specified...