Problem with android is fragmentation. That is indisputable. It is difficult for amateur developers and even companies to develop for android. Imagine how many devices with android oS there are, imagine the idea of having to test your app on every android device to see if it works
You don't have to test it on every phone to see if it works.
I love how this one gets brought up in support of how terrible Android is. Funnily enough it usually isn't the developers complaining but people who have never written a line of code in their life.
People have been writing software just fine for Windows, Linux and all other non-vertically integrated desktop platforms for decades without the sort of doomsday results you are spreading with your FUD. These desktop platforms are thousands of times more "fragmented" than Android will ever be, yet this isn't the massive issue that you claim it to be...funny that.
Google currently claim about 675,000 apps in the app store. This is roughly equal to iOS which had a significant head start. Hrmmm.
If it is so insanely hard to develop applications for Android, then why are they being developed at a faster rate than on iOS?
----------
In android 4.1 jelly bean they sped up the OS by over-clocking the processor in order to interpret all that garbage so it doesn't appear sluggish. Completely inefficient operating system that will eventually choke itself to death.
Wow, wrong again!
With the so called "Project Butter" under Jelly Bean, Google's aim was to consistently get 60fps for OS interface animations. They have essentially achieved this.
They DID NOT do it by "over-clocking the processor", they did it by implementing vsync and triple buffering in graphics. They did it by tweaking the touch input code and allowing the CPU to ramp up to full speed more effectively to handle this increase in touch input speed.
At the same time as this, they released development tools called systrace to allow app developers to debug their code to make animations speedier.
At no point are they running the CPU beyond spec to achieve this (AKA over-clocking).