View Single Post
Old November 16th, 2013, 11:08 PM   #44 (permalink)
Senior Member
Medion's Avatar
Join Date: Aug 2010
Location: Auburn, WA
Gender: Male
Posts: 1,857
Device(s): Moto X 64GB (XT1053), Moto G 8GB (XT1028)
Carrier: T-Mobile

Thanks: 46
Thanked 1,008 Times in 515 Posts

Here's a very simplistic way of explaining it. This is not 100% accurate and is just meant to paint a picture.

The ideal situation for a program is to be done native to the device, as iOS apps are done. Think of it as the app and the OS as two people, and native means that they both speak the same language.

For Android, most apps are not native, but instead are based on Java. So, in this case, the app is a person speaking one language, and the OS is speaking another. So, they need a real-time translator, Dalvik. Dalvik translates on the fly but this real-time translation, or just-in-time (JIT), takes up resources.

The idea behind ART is that when an app is installed, they get translated immediately. So, anytime that you run an app after the installation completes, the app will run like a native app. For high-end devices you won't notice a difference in performance, but the system will notice. That CPU will have less overhead, not ramping up as high in terms of clock speed thus preserving some battery life.

The idea behind ART is that apps run as if they're native to the OS which helps to improve performance and reduce battery usage. The last time we saw this was when Dalvik got its JIT compiler in Android 2.2, which had a noticeable performance increase over the older method. You can expect something similar here once ART is fully taken advantage of (likely Android 4.5/5.x).
Medion is offline  
Last edited by Medion; November 17th, 2013 at 12:02 PM. Reason: Typos, clarification, was tired.
Reply With Quote
The Following 7 Users Say Thank You to Medion For This Useful Post:
badblue1 (November 25th, 2013), codesplice (November 16th, 2013), funkylogik (November 16th, 2013), Mikestony (November 17th, 2013), mydian (November 25th, 2013), tudyniuz (November 17th, 2013), uzee (December 17th, 2013)