We know that iOS is the first and foremost choice of most of the software and mobile developers. The reasons may be various for example it may be high probability of application development cost. Android dominates almost globally in numbers and can be rightly called as second position to iOS. These two platforms are completely different mobile platforms with completely different approaches and philosophies to mobile software development.
Android is an open-source platform which is based on Linux platform which is present among a legion of devices. They are not limited to smartphones and tablets. Android can also run on TV sets, cameras, smart watches, laptops and even refrigerators. As compared to iOS which runs on a very limited number of consumer devices, Android has a wider range of possible use which is an open platform for many innovative apps some of which would be clearly restricted by Apple's guidelines.
Android is truly open in every function of the word: it works with a number of instruction set architectures (such as ARM, x86, MIPS), and can be custom-made and bifurcated to specific needs and tasks. There are many such firmware replacements for Android devices as CyanogenMod and other such Android versions as Fire OS. The one which is produced by Amazon for their popular Kindle Fire tablet range. Users of these tablets are a specific audience to Amazon and Amazon provides them with a separate application store. There are many ways of obtaining Android apps on a device either from alternative stores (e.g. Samsung Apps or GetJar), and other facts stating the openness of the platform.
Android customization can be done for specialized tasks for example it can disable certain native device functions to make the device securely serve one peculiar task. This is neither simple nor inexpensive but Android makes it possible. Although the main programming language for Android is Java Android allows the code written in other languages like C and C++. This means that millions of lines of code written and tested before by numerous developers can be used for Android apps.
The flaw to this nature of Android begins with the distinction of devices. Corporations are permitted to build mobile devices with different performance capabilities, specifications in general as well as screen sizes and resolutions which lead to fragmentation of devices and versions.
While Apple's iOS device range is limited to iPhone, iPad and iPod touch Android runs on various gadget models which provide completely different user experience. Inexpensive Android devices tend to have limited resources and main drawbacks are weak performance, low-resolution screens. User experience on high-end Androids differs remarkably. Depending on the devices a developer wants to build for there is very much opportunity for designers: adjusting UI for different screen sizes and resolutions. As a result it takes comparably more time to create an Android app.