Android developers often complain about something called “fragmentation,” or the idea that there are many different Android variants on the market that a developer must take into account. Essentially, the concept boils down to this: you cannot simply “develop for Android”. Instead, you’re developing for specific Android devices.
But just how big is the problem of Android fragmentation? In order to do thorough quality insurance, developers such as Animoco must test their apps on up to 400 separate devices (via Engadget)! Creating an app that will run on all Android devices means accounting for various screen sizes, a variety of graphics chips and processors, and numerous versions of the Android operating system (as many handsets ship with older versions of Android and never receive updates).
By contrast, performing thorough quality assurance on iOS apps typically involves testing on 4 devices at most (iPhone 3GS, iPhone 4/4S, iPod touch, iPad). No wonder why most developers focus their efforts on iOS!