Maybe I ought to know what you people are talking about...but I haven't a clue.
Art? Dalvik? Huh?
Dalvik and Art are parts of the phone software that makes everything run ie games & apps.. On kitkat the default is dalvik but u can switch it in developer's option in phone settings.. Its kinda like upgrading or remapping the software on a cars ecu unit..
Posted via the Android Central App
Well, sort of, but not really.
Dalvik and ART are compilers. When a developer writes code, he or she writes in a high level language like Java, or C++, or any of dozens of other languages. (Android apps are typically Java.) CPUs don't understand high level languages. They understand 1's and 0's. A compiler translates high level language code into code the cpu can understand. (That's an oversimplification, but it's accurate enough.) Android programs come to you as apk files. (e.g. gmail.apk). apk files are not executable code, and need to be compiled before they can be loaded into memory and run.
Dalvik is a runtime compiler. When you tap on a icon, such as gmail, for an app that isn't already running, the the gmail apk file is read by the Dalvik compiler, translated to executable code, and loaded into RAM where the cpu can execute it. This take a certain amount of time.
ART (Android Run Time) is actually NOT a runtime compiler, in spite of the name. With ART, when you first install an app, Android compiles it into executable code during installation, and saves that executable file. So when you go to run gmail, the OS can load it into memory immediately, without the Dalvik compile step. So loading apps obviously happens more quickly. But this compile at install process doesn't necessarily make the app RUN faster once it's executing. Since pre-compiling only happens once, it's possible for the compiler to be more sophisticated, and spend more time optimizing the executable code, but I've not seen anything from Google that talks about this sort of thing, so who knows.
As with anything else, there are trade offs. Compiling at install time slows the installation process. But since you only do that once, as opposed to running the app many times, it's a fair trade. Compiled apps also take up more storage (ROM). It depends on the app, but can be anywhere from 10% to 40% larger. Google kind of implies the average increase is about 30%. So if you're low on storage, ART could be a problem, but with 2 GB and 3GB phones it won't be an issue for most people.
Some apps are simply incompatible with ART, and either won't run, will force close, or crash the phone. Verizon's bloatware seems to be a prime example of this, and people with Verizon phones are advised not to switch to ART. Most, but not all, modern apps will run fine on ART, (with one KEY exception), but a lot of older apps won't.
Some people report great results switching to ART. Some people have lots of crashes, poor battery life, and /or overheating problems. The nice thing is that if you switch to ART, and have problems, you can easily switch back to Dalvik.
Finally, the key exception: The Xposed framework doesn't support ART, which means no Xposed modules will run on ART. If you're not rooted, this doesn't matter. If you don't care about Xposed, or don't know what it is, it doesn't matter. But if you're one of the many who have come to know, love, and rely on Xposed modules to customize their phones, it's a deal breaker.
Edit: One other thing I forgot to mention. ART on KitKat is, in Google's words, "experimental." Which is why it's not enabled by default. Lollipop ships with only ART, but it's a very different piece of software than what comes with KitKat.