Blame Google. Android has a craptastic audio stack and only Google can fix it.
Google would have to rip the heart out of Android and fix it for real time programming properly like OS X did way back in like 10.2?.
However, don't get me wrong, iOS isn't great--it's just at least possible. The fact that you can't actually send a defined packet (just a bag of bytes and you don't know how many until the call--"HAH! HAH! You device decided to prioritize something in the OS and your latency just quadrupled--sucks to be you.") to the Audio system on iOS is infuriating.
However, at least it's possible on iOS. On Android, not so much.