This library allows one to automatically complete sequences based on a second lifecycle stream. This capability is useful in Android, where incomplete subscriptions can cause memory leaks. You must start with an Observable<T> representing a lifecycle stream. Then you use RxLifecycle to bind a sequence to that lifecycle. It assumes you want to end the sequence in the opposing lifecycle event - e.g., if subscribing during start, it will terminate on stop. If you subscribe after pause, it will terminate at the next destruction event (e.g., pasue will terminate in stop). RxLifecycle does not actually unsubscribe the sequence. Instead it terminates the sequence. The way in which it does so varies based on the type. If a sequence requires the Subscription.unsubscribe() behavior, then it is suggested that you manually handle the Subscription yourself and call unsubscribe() when appropriate.
Features
- Complete sequences based on a second lifecycle stream
- The rxlifecycle-kotlin module provides built-in extensions to the base RxJava types
- You must start with an Observable<T> representing a lifecycle stream, then use RxLifecycle to bind a sequence to that lifecycle
- You can bind when the lifecycle emits anything
- You can bind to when a specific lifecyle event occurs
- You can let RxLifecycle determine the appropriate time to end the sequence