Here's how Android works. You'll notice that Android apps can run on Intel or Arm just as easily, which is normally not possible. Android apps are written to a virtual machine that doesn't actually exist in real hardware. It's called the ART runtime. When an app is first installed, Android does JIT, or Just In Time compilation, translating the ART code to the natively running system. Then, in the background, it starts off an AOT, Ahead of Time compiler, making ARM code from the ART virtual code in your APK. The next time that code runs, instead of doing a rather CPU intensive JIT/interprettation of the ART code, it just ignores the APK and runs the native ARM code.
That Dalvik/ART cache is all the compiled code for your apps. If you delete it, your system has to go back to the slow JIT method to run apps AND generate a new cache for every app. The more apps you have, the longer your system will be busy translating ART code to ARM code, draining your battery.
Every major update, various libraries and other bits change and Android will regenerate that cache. People complain on the forums and the advise people give is to clear caches ... and now you have to start all over!
Don't delete caches! If your system fails to boot, after 10 mins, reboot it, if it still fails, clear the cache and try twice again. If it still fails, factory reset. If a large number of apps are all crashing when you start them shortly after an update, then Android should have cleared caches. Clear it once to stop apps from crashing. ANY other issue and it is NOT a cache problem.
Click to expand...