For the first five years of Android’s existence, every app you opened was compiled on the fly by a virtual machine called Dalvik. It was a Just-in-Time (JIT) compiler — it translated bytecode to native machine code every time an app launched, every time a method was called, every time you scrolled a list. It worked, but it was slow, and it burned battery.