Reason for iOS more optimized than Android?
Apple designs their own ARM CPUs which are quite a bit faster than the ones used in Android devices. While Android manufacturers have improved their benchmarking speeds by adding cores, Apple have made the individual cores faster.
In real life, most apps don’t use four or eight threads. That figure is usually around 1.5. So fewer faster cores are usually better than more slower ones.
On identical hardware, iOS and Android system software would perform similarly. Android is based on the Linux stack. Apple on a Unix stack. Apple system software tends to have a bit of an edge in media playback. Apple’s media stuff is very well engineered and makes use of the known hardware.
On identical hardware, iOS and Android apps don’t perform the same. The reliance on Java for Android is a bit slower than optimised native code. But the biggest difference is memory management. Java relies on a garbage collection scheme, which periodically must halt operations to do clean up, and tends to need more headroom to work.
The ARC system used on iOS is much better in constrained memory cases. To get round this many Android phones ship with double the RAM, to relieve this problem.