What's different in 2.0 describes the differences between Observable
and Flowable
. However, Observable
is mostly described in terms of features that it lacks in comparison to Flowable
. There is only one distinguishing feature of Observable
mentioned:
Using
Observable
has lower overhead in general thanFlowable
.
But even this seems to be contradicted by the suggestion that Observable
is preferable for small numbers of elements and is more likely to lead to an OutOfMemoryError
if tasked too heavily. This seems to suggest that Flowable
is generally more efficient.
The other thing I find confusing is that if Observable
is preferred for use cases with fewer than 1K elements, and Flowable
is preferred for use cases with over 10K elements, then use cases having between 1K and 10K elements are a gray area.
Is there a more technical explanation of the differences between Observable
and Flowable
? Especially one that suggests a practical heuristic for deciding which to use in the gray area between 1K and 10K elements, or when the number of elements is unknown or may change.
Related: This Q&A only quotes the documentation without further explanation.