
Episode 147
147: Disposing RxJava 2 Streams with AutoDispose
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.
Fragmented - AI Developer Podcast · Spec
December 31, 201815m 22s
Audio is streamed directly from the publisher (cdn.simplecast.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
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
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