Google Search

Custom Search

Monday, 1 December 2014

Android Lollipop - Where ART Thou?


With Android Lollipop deployment is upon us, we at mytechgarbage will take a look at what would be the most significant change under the hood, ART. ART or Android Run Time is the new Runtime system used by Android Lollipop to replace the Dalvik that was used since the creation of Android. To anyone with Developer option enabled on their KitKat Android, ART is not new as it was an option earlier where user can toggle between Dalvik and ART. In Lollipop, there is no option to disable ART as it is the only available Runtime.

What will ART bring?
Since the early incarnation of Android, Dalvik is the one and only way to run apps on Android. Dalvik is essentially a Virtual Machine system and would be great on limited resources device. Dalvik has went through multiple upgrades such as JIT in version 2.2, but it is still not efficient enough to use the current available extra CPU and Memory. ART in the other hand, would be able to utilized the extra CPU core and memory available and bring Android to the 64bit age.

Where is the changes?
The debate of compiled vs. un-compiled codes is as old as the programming itself and that is what Android has been trying to balance. In Dalvik + JIT, Android uses the best of both world but also have some drawbacks, mainly in the memory management. When an app is run on Android, Dalvik would compile it before it run and each compiler would use memory footprint but on the other hand the footprint would is limited to what is available. In a compiled system, the memory footprint would be a standard requirement throughout multiple hardware configuration. Android Runtime (ART) on the other hand would compile each downloaded apps (APK) during installation based on the available hardware architecture. This installation would be unique to each hardware configuration as ART would compile apps according to available resources.

What would user get?
In Lollipop, user would have faster loading application and better resource management as extra memory requirement would be loaded in storage as a staging location. The only downside would be longer apps installation but that would only be a one-time issue. With better resource management, ART would make any hardware more efficient thus running multitasking would not be a burden to hardware any more. Battery life would be longer as CPU cycle are used only on active computation versus the JIT method where CPU would run even on idle.

What would developer gain?
Even with this new runtime engine in place, it still would not guarantee system efficiency as Android app builder can choose to build their app either using SDK (java) or NDK (other code such as c / c++). Apps that were written using java would access the extra feature ART brings but those build on NDK would still falter short.  With ART, the ability to run 64bit is introduce and would be something to look out for in the near future. With 64 bit, bigger addressable memory and better performance can be expected as Android move into the future.

In short, ART is the biggest change to date to Android and this will be a new dawn for Android as the leading OS for device. By totally revamping the base OS architecture, Android is ready to take up any challenges from their competitors.

What are your take on ART and Lollipop as a whole? Please do leave comments below

No comments:

Post a Comment