Have a look at my answer here: ObserveOn and SubscribeOn - where the work is being done.
Once you understand this, the specific answer should be clear and will depend on precisely how your Rx queries work.
In general, you want to minimize work done on the UI thread, so get off the UI thread as soon as possible after subscribing (using SubscribeOn
if necessary), and get back on the UI thread as late as possible using ObserveOn
. You would typically apply these to the last operator in the chain.