Я чо-то не понял, из этого видео получается что в Android N опять вернулись с ART на Dalvik? Ведь JIT компилятор это фича Dalvik, а ART потому и устанавливал так долго приложения что компилировал их при установке
Во-первых глупо судить о подкапотной виртуальной машины опираясь только на время установки приложений, а во-вторых, у автора видео что-то определенно не так с устройством, ибо даже на моем старом н7 (Android M 6.0.1) лицокнига ставится за ~28 секунд.
Так во время установки компилируется, а потом пользуешься
так суть ролика что на Galaxy S7 с Marshmallow, в котором проц минимум в 2 раза мощнее чем в Nexus 6P, пейсбук устанавливался в ART аж 3 минуты, и это время ушло на компиляцию. А на Nexus 6P с Android N процесса компиляции не было ВООБЩЕ, поэтому пейсбук просто распаковал свои файлы за 30сек и был таков. Значит, они снова забили на AOT?
Как более общий вывод из этого: Google по сути признал провалом изобретение NIH своей жаба-машины Dalvik, возню с левым стеком, а в итоге вернулся к православной JRE на OpenJDK.
JRE в Android не появилось. До Android N код стандартной библиотеки Java был основан на Apache Harmony, теперь он будет заменён на код OpenJDK. Это два.
Лень что-ли поискать на сайте самого гугла? ведь в 2 счета находится:
In Android N, we've added a Just in Time (JIT) compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run. The JIT compiler complements ART's current Ahead of Time (AOT) compiler and helps improve runtime performance, save storage space, and speed up app updates and system updates.
Суть в том, что ART остался, но JIT похоже используется для профилирования и «оптимизации» ART кода. Возможно это означает не полную компиляцию всего в ART бинарник в процессе установки, но потом - когда JIT компиляет что-то в первый раз - результат будет сохранен и не будет повторно компилироваться при следующих запусках / после перезагрузки. Плюс JIT позволяет лучше оптимизировать код бинарный.
Сохранялся в память в блоке Code Cache, если память не изменяет. Это в тру жабе. Что касается сохранения между запускамии - это как, и где сохраняет, есть пруф?
Если про ведройд - тогда вопрос снят