Humorous, but the curse of Android devices is that every single app demands a perpetual background service doing close to nothing. Of course we see the same thing on Windows and macOS where everyone thinks they need their own background daemons for the most absurdly simple task.
Of all the things to be controversial, this has to be the most surprising: Who knew that HN was so much in love with egregious and unnecessary background daemons.
99.9999% of the time the most that is necessary is an occasional scheduled task. No, your picture of cats app doesn't need to run a busy loop pinging a server. Learn how to use the core messaging infrastructure of the platforms you target.
No, Chrome doesn't need to run a perpetual service just to check for updates.
I don’t see why it can’t be requested like any other permission. Otherwise apps just abuse location and audio to make it work anyway. It’s not like apps AREN’T working in the background.
There are extraordinarily few cases where apps on iOS need to run in the background, beyond what can be accomplished via a periodic scheduled task or the system eventing infrastructure. And the notion paraded here that every app is secretly doing it by pretending that it's playing audio is nonsense that has little correlation with reality.
Android very recently -- at API level 26 -- added restrictions on background tasks for that platform (and it's much more involved than if you display a notification or not). Before that every app developer just spun up a background service for everything, and anyone who has done an iota of development on Android devices saw the tragedy of the commons that the platform became. So kudos to Google for cleaning it up a bit. Of course Samsung, Google and others just declare themselves immune from those restrictions and it's just a smaller problem, not a solved problem.
That's indeed how it works on Android. If you want to have a high priority background task that isn't among the first to get killed when another app needs more memory, you have to tell the OS to show a notification that is displayed until the user shuts down the service.
I definitely prefer the iOS model.