When to use Flowables and Observables
By now, you may think Flowable is a handy tool to use, so you could replace Observable everywhere. However, this may not always be the case. Although Flowable provides us with backpressure strategies, Observables are here for a reason, and both of them have their own advantages and disadvantages. So, when to use which? Let's see.
When to use Flowables?
The following are the situations when you should consider using Flowables. Remember, Flowables are slower than Observables:
- Flowables and backpressure are meant to help deal with larger amounts of data. So, use flowable if your source may emit 10,000+ items. Especially when the source is asynchronous so that the consumer chain may ask the producer to limit/regulate emissions when required.
- If you are reading from/parsing a file or database.
- When you want to emit from network IO operations/Streaming APIs that support blocking while returning results, which is how many IO sources work.