Android 5.0 and ART
Android 5.0 or Lollipop as it is more commonly known is a giant leap for android and a step in a direction to making the mobile operating system more awesome than it already is.
Android has been around for quite a while now, and those of you who have studied the specifications and have either self taught or learned how to program and develop mobile applications for Android Mobile Devices know that is has been a rocky road. Many bugs and flaws marred the initial release of Android making it difficult to develop for and use.
Since those initial releases of android it has become a powerful beast that has gone toe to toe with Apple, and other mobile operating systems and in some cases came out the victor. However it has always had its weaknesses, Android is a derivative of Java and at its very heart is the Java Development kit, despite exhaustive adaptations to make it lean and mean more mobile friendly it has always had downfalls, chief of which was the Dalvik Virtual machine.
Now don't get me wrong The Dalvik Virtual Machine is a fine piece of software that has spawned some of the most versatile operating systems on the planet. It will continue to grow in its prowess and power as technology gets better, but it was never designed for mobile devices and the limitations of its hardware.
Now I know each year mobile devices are getting more powerful, tech giants are managing to stuff them with more and more RAM and their processors are getting smaller and faster. They still operate differently to tower PCs however, due to the complex and restricted nature of mobile technology.
Google and the open handset alliance have known this for a very long time and have always insisted that improvements where on the way. Something that would make Android a true Mobile Operating system and quite possibly the king of them all.
Introducing Android 5.0 and the Android Run Time (ART) for short. Android Lollipop brings a plethora of improvements both visually and behind the scenes. Their new "Material" Design is a breath of fresh air whilst behind the scenes the Android operating system and ART are a vast improvement in terms of performance.
ART was designed from the ground up to be a mobile first run time environment for the Java based operating system. No only does it give more power to the developer by providing improved debugging features and support greatly improves on garbage collection, making it a much leaner and meaner machine than before.
Then there is Ahead of Time Compilation, this is when you compile a high level language straight into a native system dependent machine code. Greatly increase performance by eliminating the step of compiling intermediate code before its execution.
Why is this better? Being able to directly compile a high level language into a machine readable code cuts out the middle man. Most Just In Time Compilers at initial compile time compile the language into an intermediate language that can be interpreted by an interpreter at run time. On more capable machines this is a good thing allowing the program at run time to compile at run time or just before run time, has many benefits but can reduce performance in more limited systems. Being able to cut out this interpreter means code can be compiled and ran much faster on mobile systems.
ART is still pretty new and there will be bugs and kinks to work out but already it is showing that it can greatly improve on the performance of the old Dalvik Virtual Machine. Give it some time for Google developers to find all the kinks and bugs and I believe that Android could become the quickest and most powerful mobile operating system on the planet.
If you want to find out a bit more about ART and Ahead of Time Compilation check these links out.