What I'd like to see on Android, though, is a permission that controls whether an app is allowed to spawn background services, which would be listed alongside others in the confirmation screen when app is installed.
Whilst Android does not have this, since version 2.0 they have vastly improved background process behaviour.
Previous to 2.0, a service (ie background app) could request foreground priority, oblivious to the user. This would flag it as important enough such that it would not be killed when the system needed resources. The intention is things like music players needing to always keep playing the music.
Unfortunately human nature rolled in and every developer felt that _their_ app was the most important one on the system, so had useless crap always running (updates, lots of network polling, etc) and so with many apps installed, the system could become sluggish even if there was only one visible app in the foreground.
Since 2.0, the old system call for this (setForeground()) has been turned into a No-Op, and apps wishing to retain high priority privileges in the background are now forced to display a notification in the status bar. Result? Apps cannot quietly hog system resources, but now must inform the user, which has generally resulted in much less resource hungry apps, snappier performance, and better battery life.