I agree with you about this distinction being important, but I come at it from a different angle - I don't mind if most apps operate in the background as they need, with preemptive scheduling like Android. But I really, Really mind if I don't have a rock solid way to quickly and easily kill an app (and all related tasks/processes/async jobs/etc).
1. There are times I want to make sure an app is not running (think zoom/hangouts with video access), or a work app that records location
2. The single best way to fix a problem, any problem, is still 'turn it off and back on again'.
I don't want to kill the current activity and hope that the background jobs stop at some point in the nearish future with absolutely no feedback or insight. I want "killall <root app process>" then give the app 5ish seconds to cleanup and if it's still around "killall -9 <root app process>".
1. There are times I want to make sure an app is not running (think zoom/hangouts with video access), or a work app that records location
2. The single best way to fix a problem, any problem, is still 'turn it off and back on again'.
I don't want to kill the current activity and hope that the background jobs stop at some point in the nearish future with absolutely no feedback or insight. I want "killall <root app process>" then give the app 5ish seconds to cleanup and if it's still around "killall -9 <root app process>".