That virtualization thing hasn't really been true for quite a while. Android compiles the Java-ish code ahead of time (the .oat file is a playful acronym for "ahead of time") to native code. There's still overhead with exceptions and other java-isms, but that still very much exists in objective-c.
I'd bed that iPhones only seem faster because it's normal to have more powerful and expensive new iPhones. Android has auto-suspended apps in the background for longer than iphone, and it doesn't require any maintenance to keep running smoothly (it doesn't even require "closing" apps from the app drawer).
That virtualization thing hasn't really been true for quite a while. Android compiles the Java-ish code ahead of time (the .oat file is a playful acronym for "ahead of time") to native code. There's still overhead with exceptions and other java-isms, but that still very much exists in objective-c.
I'd bed that iPhones only seem faster because it's normal to have more powerful and expensive new iPhones. Android has auto-suspended apps in the background for longer than iphone, and it doesn't require any maintenance to keep running smoothly (it doesn't even require "closing" apps from the app drawer).