Мне любопытно узнать, что заставило google выбрать для разработки фреймворка Android на Java VM.
В процессе написания кода для андроида в течение почти 6 месяцев я заметил, что работающий код на виртуальной машине на ограниченной платформе ресурсов очень медленный. Существует много накладных расходов. Я знаю, что java переносится и т.д. И т.д., Вообще ли вообще невозможно использовать родные языки и получить как производительность, так и функции, предлагаемые виртуальной машиной? Для приложений, ориентированных на производительность, все еще заканчивается написание собственного кода и перенос его с помощью JNI,
Итак, почему Google выбрал этот конкретный стек:
- Основанное на руке ядро (понятно, ARM - лучшее для мобильных устройств)
- Linux (с открытым исходным кодом)
- Java VM (Мой вопрос)
EDIT: Я знаю java - JVM работает на одном уровне с приложениями С++ на моем сервере, но не на Android. Что касается андроида, это не так. Как мне кажется, код С++, завернутый в JNI, работает намного быстрее, чем Java-код (заметьте, что я даже проверил с тем же кодом из статического блока в java). Я соглашусь с вашим ответьте на любую другую платформу.