As an iPhone user, I'm very happy that apps can't implement their own push notification systems, or have persistent background connections open, as it's one of the main reasons I get good battery life.
Riot uses the platform’s push server unless you’re using the F-Droid version on Android. That version will indeed destroy my battery if I leave it running with my (rather large) account.
For example, Apple could allow an app to register as a receiver for a class of push notifications, and then require all the pushes to go through the Apple-maintained background process.