We know one of the main characteristics of Java is portability, and that usually means it is not as efficient as it should be. That might be the reason Java has never been associated with high performance, but nowadays there are a lot of Java powered devices in the world and lots of people are building applications for them.
Compilers that produce native machine code do a great optimisation job because they know where the code is going to be executed. But because of the portability feature, the Java Compiler could not assume anything about where our program is going to run and leaves all the optimisations to be done by the JVM while loading or, even, running our code (or converting it to native code in the case of ART)
In this session you will not only learn how to make your Android code faster but also what to avoid when looking for critical performance and a bigger understanding of how the Java compiler works, and how these small changes affect to Dalvik VM and the ART runtime.