He utilizado XCode y Visual Studio durante muchos años. Llevo casi dos años usando Android Studio y me ha parecido, con diferencia, el peor IDE con el que he trabajado. Estoy en la versión 3.1.3 ahora.
Tuve que comprar un PC más rápido sólo para que construyera mi proyecto, que de otro modo habría tardado años. Está lleno de bugs. Lo peor es la división entre el IDE y gradle. Cada vez que haces un cambio significativo en la configuración del proyecto (como añadir un archivo a un makefile) tienes que esperar durante minutos a que gradle se ‘sincronice’. El paso de sincronización está totalmente ausente en todos los otros IDEs principales y es un asesino de la productividad. Tienes que esperar a que la sincronización termine, y luego se te permite lanzar la construcción. Como ambas cosas llevan minutos, corres el riesgo de distraerte y empezar a hacer otra cosa (para no aburrirte por la espera) dos veces antes de poder ver tu aplicación ejecutada, sólo porque has añadido un archivo. La gente que trabaja en proyectos pequeños puede no notar estos problemas, pero te aseguro que en proyectos más grandes toda esta espera mata tu productividad.
Los errores de compilación nativos (c++) se reportan mal, si es que se reportan. Tengo que buscar la cadena de «error» en el registro de compilación para encontrarlos.
Mi suposición de por qué Android Studio es tan malo es que está desarrollado conjuntamente por Google y Jetbrains, por lo que ninguna entidad es responsable del producto.
El hecho de que esté desarrollado en Java no ayuda, a veces casi se puede ver el monstruoso recolector de basura teniendo que barrer la memoria mientras el IDE se congela y tienes que esperar tal vez 5 segundos para que la aplicación vuelva a responder.
También la decisión de diseño original de usar Java/Kotlin como lenguaje de programación/runtime principal también afecta al desarrollo de Android en general y lo hace engorroso cuando, como en mi caso, hay que hacer interoperar código Java y nativo c++. Esto añade un nivel extra de complejidad innecesaria, y Android Studio tiene que manejar tanto archivos Java como al menos dos tipos de makesfiles (cmake y ndk-build).
Esperemos que las cosas mejoren en el futuro.