I always thought that iPhones weren’t more efficient — they just dropped a major feature: running background apps.
I remember being able to run Ubuntu in the background on an unrooted Android phone while browsing the Internet. You can’t do that with iPhone.
That said, I rather have battery predictability over features, but I always thought that if Android dropped background apps, they would have the same battery usage as an iPhone.