Android Studio 2 Beta Is Usable
Written by Mike James   
Thursday, 11 February 2016

Android Studio 2 is now available in beta and this change in status does correspond to an increased usability. It is worth getting to know the new IDE because, even with its faults, it speeds development a lot. 


The major feature of Android Studio 2 isn't really part of the IDE. The emulator is now much faster and comes with more features. Put simply, it is usable. No longer do you have to acquire and install a third party emulator to make development easier. The new emulator really does satisfy the need. 

There are some drawbacks, however. The first is that you need an Intel or AMD CPU that supports virtualization - Intel Atom CPUs don't. You also need to install the Intel HAXM accelerator. This isn't a huge problem, but it is incompatible with HyperV so if you are using Windows you have to disable HyperV to use the faster emulator.

There is still the irritation that HAXM's memory default is lower than the memory allocation on most of the Android images you can run without custom configuration. The workaround is to up the HAXM memory to 1GByte unless you are very short of memory.

There is also the small matter that you can only make use of Intel Android images. 

None of these is a big problem and overall this is now the emulator that we should have had ages ago. 

The emulator supports multiple cores for both speed and for testing out app features. The user interface makes it very easy to emulate the behavior of a real device. New in the beta are the improved rotation controls and the multi-touch emulation. All this, coupled with the improvements in the ADB, means that often the emulator seems as responsive as a real device.

The second big improvement is instant run. This attempts to intelligently work out what has changed and downloads to the running app as little as possible.

There are three possibilities:

  1. If you have only changed the coding in methods in existing classes then you can benefit from a hot swap. This simply downloads the recompiled classes that are specific to your project and replaces the corresponding code on the device. This doesn't even bother to restart the app, the code is just changed on the fly and the new code is used the next time the method is called.  Hot swap makes the change almost instant and it is great for testing code. Once you start using it then you tend to modify your behavior so as to take advantage of it. 

  2. If you change any resources then only the resource files are copied but in this case you do need to restart the Activity to see the new resources used. This is a warm swap and it is almost, but not quite, as good as a hot swap.

  3. Finally, if you make changes to the structure of your app - class hierarchy, method signatures, and so on - then a cold swap is needed. This is new in the beta and it requires a complete restart of the entire app.

Notice that in all cases only the parts of the app that have changed are downloaded.  

With the new emulator and instant run the time to cycle through an edit, debug, edit cycle is much reduced and this should mean both faster development and fewer residual bugs. 

Also new in the beta is code generation for App Indexing and validation. App indexing is relatively new but it is likely to become an essential feature in the future so anything that makes it easier is a good idea. 

The bottom line is that Android Studio 2 offers sufficient advantages to start using it now before the release. Of course the usual beta warnings apply and you should install it alongside the latest release version. All you have to do is download the zip file, unzip it anywhere convenient and run  studio64.exe. After this you will have to put up with a few rounds of updates. Eventually this are complete and you can start using Android Studio 2. Any new projects that you create will make use of the new instant run without you doing anything. Any projects you import will have to  change the line in the build.gradle project file to read

Using the new emulator is just a matter of creating an AVD that uses Android 6.0 x86 image and API 23. You can also select the advanced settings to select the number of cores you want to use. 

Of course there are still some Android programmers angry that Android Studio still doesn't provide support for native code (NDK) development. It is also ironic that Microsoft's Visual Studio seems to do a better job in this respect. The problem is that switching to Visual Studio might be attractive in the short term but the gamble is how long Microsoft will think it worth supporting Android NDK development. 

For the moment the only reasonable thing to do is to stay with Eclipse and the ADT. However if you don't need native code development the new Android Studio is well worth switching to. 




More Information

Android Studio 2.0 - Beta

Related Articles

Android Studio 2.0 Preview Now With Emulator

Android Studio 2 In Preview

Android Studio 1.5 Released - Just Some Bug Fixes, Don't Get Excited

Visual Studio V Android Studio

MarshMallow Is Coming!

Android Studio 1.3 Released

Android Data Binding - Say Goodbye To FindViewById    

Android M - Still No Name But An SDK Update And NDK Support       

Google Drops Support For Eclipse - It's All Android Studio Now       

Android Adventures - Getting Started Creating A UI

Android Adventures - Mastering Fragments


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin



Couchbase C++ SDK Goes GA

Accessing and working with Couchbase from C++ is now possible, thanks to the release of a C++ SDK that provides integration with Couchbase Server.

World Emoji Day 2024 Surveys Most Confusing Emojis

This week sees the 'celebration', if that's the word we're looking for, of World Emoji Day, the annual emoji-fest that has happened on July 17 for the last eleven years. This year we've largely b [ ... ]

More News


kotlin book



or email your comment to:


Last Updated ( Thursday, 11 February 2016 )