In this short fragment episode, Donn explains how you can clean up your RxJava 2 streams and ensure no memory leaks are occurring by using the AutoDispose library from Uber.

Shownotes * AutoDispose Library * Tool to help migrate to RxJava 2

CatchUp Library

Code Samples Java

``` myObservable .map(...) .as(AutoDispose.autoDisposable(AndroidLifecycleScopeProvider.from(this))) .subscribe(...)

```

Kotlin

``` myObservable .map(...) .autoDisposable(AndroidLifcycleScopeProvider.from(this)) .subscribe(...)

```

With Scope Event Provided

``` myObservable .map(...) .autoDisposable(AndroidLifcycleScopeProvider.from(this, Lifecycle.Event.ON_DESTROY)) .subscribe(...)

```

Testing

``` // File: CustomerService.kt class CustomerService @Inject constructor(...) { lateinit var scopeProvider: ScopeProvider }

// Usage in Fragment/Activity/etc val service = CustomerService(...).apply { scopeProvider = AndroidLifecycleScopeProvider.from(this) }

// Usage in Test val service = CustomerService(...).apply { scopeProvider = TestScopeProvider.create() }

```

Contact * @fragmentedcast or our Youtube channel * @donnfelker and donnfelker (on Instagram) * @kaushikgopal and kaushikgopal (on Instagram) * Fragmented Chat