After one year with Android, I can say that I’m impressed. Android has improved a lot making giant leaps forwards since I first tried it on Froyo and Gingerbread. I’m still baffled though at how behind it still is in UI responsiveness. It is 2019 and there are still huge stutters on a 300USD phone. I can get an old iPhone for the same price and enjoy 60FPS animations.
The biggest problem Android has right now is having too many devices with too many specs to support. It has always been both its strength and its weakness.
It is its strength cause it can run on any device and because of that its popularity has skyrocketed. It is its weakness because it is really hard for anything to work consistently across such a different and heterogeneous array of devices and appliances.
On top of it being a problem for developers, it is a big problem for users. Often stuck on an older version of the OS by the various manufacturers with no easy way to upgrade to the latest version of Android.
The biggest advantage it has on iOS is choice. With Android, you can choose if you want a budget 200 USD phone, a flagship 900 USD Pixel or a gimmicky 2000USD curved phone. iOS is very limited in this regard. You can always buy an older phone, but they still retain their value relatively well. You need to go back all the way to the iPhone 6 to get a phone for 250 USD, a phone from 2014. For the same price, I can get a 2018 Samsung A7 (it is sold for less than 300 USD).
The app quality on iOS is unmatched. The polish of iOS apps is simply not there in Android and it looks like it never will. That is due to the different economics of the two stores. On iOS, you still can have a paid up front or subscription app, on Android a paid upfront up is a recipe for disaster.