Clearing up a couple of misconceptions about the ART runtime
Lately I've seen a lot wrong information being posted about ART and deodex/odex, so let me clear some things up. This is focused on Google builds and not AOSP built ones,
- ART is not for odex only, actually it's for deodex only. The problem has been that people are deodexing the system when it's not necessary as Google's builds are already deodexed and those dex files are the ones that are optimized for ART, so in reality all you have to do is delete the odex files if you want to be deodexed
- Odexing a ROM(or in stock form)
and leaving the dex files in the apks/framework, completely negates the point of odex files, as from my testing, if a dex is present, the odex is ignored and the classes.dex is built into the dalvik-cache folder, so claims of space saving, etc are wrong. Easiest way to see is by clearing your dalvik-cache and seeing the number of apps in the Android is upgrading message while booting, ie, on my phone, deodexed I have 113 files to optimize(build dalvik-cache files), odexed while leaving the dex files, 113 and true odexed with no dex files, 37. Now if you don't care for ART and really want to the benefits of an odexed system, then remove the dex files but be sure to zipalign the apks.
If you like my work, donate to buy me a beer or 2