Do we have any programmers in the house?

I was wondering why android had been super laggy when it first came out, and can still be today when you aren't running on strong hardware. Let's not joke around, we've all used android and it DOES stutter/lag, more so if you don't own well specced phones. It was such a problem that google had to kickstart "project butter" to try and eliminate lag and improve smoothness. If you don't think android can be laggy, go look at windows phone or iOS and compare their scrolling and other transitional animations. Anyway, the point of this post is I'm wondering if any java programmers out there have tinkered with android and understand the reason behind android's lack of smoothness. Is it merely a matter of hardware optimization? Full disclosure: I used to own a Samsung galaxy S2, and I now own a Lumia 920 because I was attracted to its camera and hardware design.