> I believe this aggressive behaviour tends to come from user-feedback, given users care a lot about battery endurance and heat dissipation.
Absolutely. I don't want my phone to run hot or low on battery when I'm not using it. If there was a way to shut down all background tasks when the screen is off, I'd gladly do that (second device, no sim, WiFi only use case).
And by poorly written apps which actually DO drain the battery while doing nothing useful. So I don't feel like putting all the blame on the OEM manufacturers.
The problem is they're using bad heuristics. Just because a service runs 24 hours a day doesn't mean it's using a significant amount of battery. The harder problem is, just because a service uses a significant amount of battery doesn't mean it's doing nothing useful.
If I want my email app to download my emails as they come in because I'm on a slow network connection, I want it to do that even if I get a lot of emails. Especially then. Even if that means I have to charge my phone every day instead of every week.
What they should be doing is using a blacklist instead of a whitelist. Not because they're actually going to be able to blacklist every misbehaving app (though they could certainly catch the most popular offenders), but because that's how you get developers to change their behavior.
If everybody is restricted by default then there is no incentive for bad developers to do better. They get restricted, they weren't going to get whitelisted either way, so they go on making a wasteful app. By contrast, if making a wasteful app could get you blacklisted and restricted when you wouldn't have been otherwise, well now you've got a deterrent. Meanwhile they wouldn't be defaulting to breaking well-behaved apps that are designed to efficiently run all the time.
This site ranks Android OEMs that kill apps in the name of battery optimization: https://dontkillmyapp.com/
I believe this aggressive behaviour tends to come from user-feedback, given users care a lot about battery endurance and heat dissipation.