What is Dalvik? We hear that word getting thrown around a lot on the Internet when talking about Android and its inner workings. While there's no easy explanation we can give in just a few paragraphs, we can cover the basics and point you in the right direction if you need to feed your nerdly side. In its simplest terms, Dalvik is a virtual machine that runs applications and code written in Java. A standard Java compiler turns source code (written as text files) into Bytecode, then compiled into a .dex file that the Dalvik VM can read and use. In essence, class files are converted into .dex files (much like a jar file if one were using the standard Java VM) and then read and executed by the Dalvik Virtual Machine. Duplicate data used in class files is included only once in the .dex output, which saves space and uses less overhead. The executable files can be modified again when you install an application to make things even more optimized for mobile. Things like byte order swapping and linking data structure and function libraries inline make the files smaller and run better on our devices. The Dalvik VM was written from square one with Android in mind.
Confused yet? Don't feel bad, geeky programming talk usually has that effect. Think of it this way -- when you build a Java application for your computer, a Java Virtual Machine runs the compiled output of the source code. This is why Java runs on just about any operating system. Dalvik is a mobile-optimized version of a Java Virtual Machine, built with code from the Apache Harmony project, which is open-source and runs better than a standard Java VM would on our limited hardware, designed so that you can run more than one instance of the VM at a time -- ie multitasking. Because Dalvik is open-source, it's also been ported to other operating systems, like the one on the BlackBerry PlayBook. It's pretty damn complicated, pretty damn cool, and Oracle (the company that bought Java from Sun) hates it.
Android uses Dalvik because while the license for the standard Java Virtual Machine is GPL2 (free and open-source), when placed in a mobile device and using the Java Micro Edition, it is not. The big dispute between Google and Oracle is all based around Dalvik. Google claims it was written in a "clean-room" environment without using any of Oracle's code, and Oracle disagrees. We claim to have no idea, we're just glad it works as well as it does.
For more on Dalvik, see the Google I/O website.
Previously on Android A to Z: What is CES?; Find more in The Android Dictionary
More from the Android Dictionary
We may earn a commission for purchases using our links. Learn more.
The Echo Buds are just $80 right now and that’s a great deal
Today is Alexa's 6th birthday, and our favorite AI voice assistant is discounting all of her favorite Amazon devices. I recommend that you rush to grab a pair of Amazon's underrated Echo Buds which are on sale today for $50 off!
Where's Android 10 for my smartphone?
Android 10 has been kicking around for more than a year now, but not every phone has received the big update yet ahead of the launch of Android 11. Here's a breakdown of which phones are confirmed to get the Android 10 update and when you can look forward to it.
Google's Pixel 5 is now on sale in the U.S. and Canada
Google's Pixel 5 is finally available to purchase in the U.S. and Canada. The phone was released in seven countries earlier this month, including Australia and the U.K.
The Xperia 1 II is our favorite phone for shooting video
If video recording is your thing, then look no further than the Sony Xperia 1 II — it offers a large screen, three great cameras, and extremely robust manual video controls.