I'm going to take 2 simple example of Flows:
- A Flow of location updates. If you don't cancel this flow, your GPS will use power while the app is in the background. This is bad.
- A Flow of data that you auto-refresh from the server. If you don't stop that flow while the app is in the background, the app will keep performing network request and use mobile data. This is also bad.
Of course, cold flows are not affected. But you can't create cold flows for everything, and cold flows are not shared between consumers.
I'm all for moving all the logic to the domain layer, but you still need to stop observing the flows when an Activity is stopped for these reasons.