This week at Google IO, Google announced the latest version of their Android operating system. Dubbed Android ‘L’ (for now), it is one of the biggest overhauls to the Android ecosystem since Gingerbread. This year, Google also deviated from their usual release pattern. Android ‘L’ is actually available for developers to download right now! The goal is for developers to have time to get used to the new changes and optimize their apps before the consumer release this fall.
So, here is everything that Android developers need to know about this latest version of the Android OS:
A lot of the changes that Google made are focused on improving app performance. For this reason, Google decided to replace the Dalvik virtual machine with the Android Runtime (ART) compiler. ART was mentioned around the time of the KitKat release, but it was only regarded as an experimental release. Now, Android is abandoning Dalvik altogether and is relying on the cross-platform capabilities of ART.
The largest difference between the two runtimes is that ART relies on a AOT (ahead-of-time) compiler, as opposed to Dalvik’s JIT (just-in-time) compiler. This change allows ART to process code in advance, resulting in a much smoother and fluid performance as well as a significant positive impact on battery life.
ART will be immediately compatible with the existing Android ecosystem, and developers do not have to make ANY changes to their apps in order to take advantage of the great benefits of ART.
First off is Project Volta. In conjunction with ART, Project Volta is meant to make Android much more energy efficient. Users will be able to see battery-use stats for individual apps, and a “battery historian” will track any app’s usage of battery over time. The new JobScheduler will allow apps to adjust their behavior depending on the phone’s environment. For example, when an app update is rolling out, JobScheduler allows the app to check a) if the phone is using WiFi or a cellular network and b) how much battery remains on the phone.
The new multi-networking feature will make the transition between WiFi and a cell network much easier for a user who has an open app. Currently, a user may experience a big delay while the app adjusts, or the app may crash. Now, apps will be able to switch seamlessly between the two network environments with little-to-no negative effects on the app or on the user.
Another big change will made to notifications. In addition to the various design changes (see below), Android L adds “Heads-Up” notifications which are reserved for important notifications involving other people that the user is in contact with. The second addition is lock-screen notifications (yay!). Developers can use these notifications as well, though users have control over the privacy settings. Improved metadata capabilities are also being added to evaluate what information is sent to the user and how it is collected.
Android L also offers a few enterprise capabilities like user profiles and a device policy manager, and L includes some new Bluetooth and NFC capabilities that tie into the new Android TV and Android Auto.
By far, one of the biggest changes announced at Google I/O was Material Design. Material Design is a set of design guidelines which Google will be implementing across all of their properties—from Gmail to Chrome to Android to Android Wear. Material Design has a lot of similarities to both iOS 8 and Windows Phone, but it does a nice job of blending elements of skeumorphic design and flat design. For example, with Material Design, the use of shadowing is an important element to denote relationships between two elements or two views.
In addition to the shadowing, Material Design presents an entirely new color scheme with bright new colors that are able to be easily tinted or manipulated, depending on the developer’s color scheme. New CardView and RecycleView ease the burden of making a ListView on Android with added controller features to the MediaStyle and MediaSessions functions as well. Material Design also aims to make animations much more fluid, even allowing them to be shared between activities so that transitions are seamless and intuitive for the user.
As we mentioned above, the Android ‘L’ Developer Preview is now available for download!