Я только что обновил свой Nexus 7 до Android 4.4 KitKat и с нетерпением ждал возможности протестировать ART, но этот вариант недоступен. Мне сказали, что в Nexus 10 также нет этой опции, но я не могу найти никакой информации о том, почему это так.
У кого-нибудь есть чем поделиться? Конечно, для этой платформы им понадобится компилятор AOT, но насколько велика разница между Nexus 7 и Nexus 4? Они оба ARMv7, хотя Nexus 4 основан на A5, а Nexus 7 — на базе A9 (согласно моим исследованиям). Почему это имеет значение?
Я только что отправил отчет об ошибке в систему отслеживания проблем Android. Возможно, мы получим отзыв от разработчиков: https://code.google.com/p/android/issues/detail?id=62375 .
Похоже, что в текущем обновлении OTA до версии 4.4 отсутствует переключатель среды выполнения для версии Nexus 7 2012 года.
Судя по всему, ART доступен только для устройств на базе Snapdragon. Я могу переключить среду выполнения на N4, N5 и новый N7, которые основаны на Snapdragon, но не на N7 первого поколения (Tegra 3) и N10 (Exynos). Такое ограничение допустимо (потому что оно может сломать систему), если разработчики недостаточно протестировали его на устройствах, отличных от Snapdragon.
И все мы знаем, что ART все еще экспериментальный и не готов к производству. Поэтому «фрагментация» здесь не применяется.
Прежде всего, все будет зависеть от того, чем вы оперируете. Если вы используете OTA-обновление (стандартное ПЗУ), оно может быть включено, а может и не быть (о чем я не могу вам сказать, включено оно или нет, поскольку я никогда не использовал стандартное ПЗУ), но если оно включен, это будет в меню параметров разработчика. Пользовательские ПЗУ, такие как тот, который я использую, включают возможность переключения на ART на том же устройстве, о котором вы спрашиваете (в частности, на Grouper или Nexus 7 2012 года), но это не означает, что все пользовательские ПЗУ будут включить функцию. Все зависит от того, что включил в него разработчик ПЗУ.
Обновление OTA от Google может не включать эту функцию, поскольку в настоящее время она все еще находится в стадии разработки. Если это еще не предусмотрено разработчиком, наберитесь терпения, подождите некоторое время, пока они реализуют более универсальное использование ARM, а затем переключитесь. Если вы не знаете, как получить доступ к меню параметров разработчика, то, возможно, ваша база знаний об Android должна быть немного устарела, прежде чем спешить с вопросом «почему это не включено», когда это вполне могло бы быть.
Из AOSP Issue Tracker #62375 , который был опубликован Максом Романовским , он работает как задумано из-за ограничения места в /system
разделе:
Пост №19
Я считаю, что это WAI (изд. Работает по назначению) из-за ограничений флэш-памяти, но я хочу подтвердить.
Пост №87
В соответствии с пунктом 19 в разделе для Nexus 7 (2012 г.) и Nexus 10 были ограничения по пространству
/system
. В сборках AOSP больше места, поскольку они включают только приложения AOSP. Кроме того, включение ART вместе с Dalvik в качестве опции разработчика в 4.4 требовало не удалять.dex
файлы из системных файлов JAR и APK, что добавляло дополнительное давление помимо простого добавленияlibart.so
связанных файлов.
Однако Nexus 7 (2012 г.) и Nexus 10 можно обновить до Android 5.x Lollipop, который работает исключительно на ART:
точкаВезз
Маврик
Каламане