When comparing Android Studio vs Xamarin.Android, the Slant community recommends Android Studio for most people. In the question“What are the best IDEs for Android development?” Android Studio is ranked 2nd while Xamarin.Android is ranked 4th. The most important reason people chose Android Studio is:
Android Studio is the software built by Google themselves to be used for Android Development. As such, it's certain that support for it will never drop as long as Android apps are still being developed. Studio is also the tool that Google recommends using for Android development and it's the IDE that gets updates related to Android first.
Ranked in these QuestionsQuestion Ranking
Pro Officially supported by Google
Android Studio is the software built by Google themselves to be used for Android Development. As such, it's certain that support for it will never drop as long as Android apps are still being developed.
Studio is also the tool that Google recommends using for Android development and it's the IDE that gets updates related to Android first.
Pro Based on the powerful IntelliJ IDEA
Unlike its predecessor, which is based off Eclipse, Android Studio is build on top of Jetbrain's Flagship Java IDE which offers over a number of features. It's also open-source too (Community Edition only).
Pro Extremely easy to integrate Google Services
Because it's made by Google to be the tool to be used for Android Development, it's also very easy for Google to add great support for their services in the IDE and make it easier to integrate Google Services into Android applications built with Studio.
Pro Extremely fast preview
Since Android 2.0, Google have been focusing more and more on the IDE's speed, going so far as making it 2-2.5 times faster than older versions.
But the greatest feature when it comes to speed though is the new feature called "Instant Run". This is comparable to writing HTML, where you write the HTML and just refresh te page to see the changes. On mobile though, updating anything would take a lot of time for the system to rebuild.
Instant Run allows developers to build their app once (on physical devices, emulator or both) and as they change their code, AS does hot code swapping where it only updates the parts of the code that have been changed and the developer can see those changes after a second or two.
Pro Pushes fast to the built-in emulator
Pushing to the built-in Android emulator can be up to 10 times faster than pushing to a physical device.
Pro Supports many platforms
Linux, Windows, and Mac are supported.
Pro Live code updates and renderings of app
Layouts are built and can be observed in real time and are automatically updated after every change. You can even see these changes on different screens.
Pro Allows GPU tracking
For graphics-intensive apps or games, Android Studio has a GPU profiler baked in. With this you can see exactly what is happening inside the device when a new image is drawn on the screen.
Pro Uses the powerful Gradle build tool out of the box
Android Studio uses Gradle as the official build tool for projects, moving away from the now outdated Apache Ant.
Gradle is a powerful build tool, especially for Android development with which it's very easy to do things that are otherwise impossible or very hard to do on other build systems, thing like: upgrading the build system without breaking the project itself or allowing you to separately define the development and production versions.
Pro Intelligently replaces values
References are automatically replaced with their real values, so you can easily view which color you are using for example.
Pro Can test Google Play Services API straight from the emulator
Since the built-in emulator has Google Play Services like a physical device, you can test a lot of API calls without having to deploy your application to a device.
Pro Allows .NET programmers to write Android Apps
Allows .NET programmers to write Android Apps.
Pro Programming in C#
Allows you to write your programs in C#, a language much superior to Java, regarding expressiveness, readability and overall productivity.
Xamarin is a platform on which you can build cross-platform mobile applications for Android, iOS and Windows Mobile and use only one codebase.
Pro Open source
Xamarin.Android and the whole Xamarin SDK is free and open source and released under the MIT license.
Pro Fast build
Faster compared to Gradle-based systems.
Con Many errors that are almost impossible to remove
Gradle sync fail
Class can't be found
Update SDK (even with latest version)
Con High memory use
Con Android development only
Android Studio is the official IDE for Android and it works great as an Android IDE. Unfortunately, that's the only thing it can do. If you want to develop applications for other platforms in Java, you have to learn another IDE as well.
Con Apps run slow on the ARM version of the emulator
While the Android team have recently fixed issues that had to do with emulation on an x86 architecture and greatly improving emulator speeds, emulating an Android device and running apps on an ARM architecture is still pretty slow.
Con Many offline issues
Con Lacking third-party library support
Having to use third-party libraries in Xamarin can be a real pain. Since Xamarin uses C# and third-party libraries are written in Java, you have to create bindings to use them in a Xamarin app. Which is cumbersome and wastes a lot of time. Especially considering that the Xamarin docs are not very good when it comes to this part.
Con Too large to download
Since core Visual Studio comes about in 543 MB of download size, the Mobile App Development with C++ workload comes about ~4 GB, the issues with your bandwidth and internet connection can cause the components to re-download, wasting a considerable amount of internet.