Instant Run: How Does it Work?!

With the official release of Android Studio 2.+ Instant Run is automatically enabled once the gradle plugin is upgraded. Learning how it works is necessary to avoid unexpected behavior. For example, in some scenarios the stack-trace for a changed method will change after a hot-swap which may cause some confusion when debugging.