Узнать версию для Android

Есть ли там, чтобы выяснить, какая версия для Android работает в данный момент? Например, на Android v4.4 вы можете провести между dalvik и art, и я хочу узнать эту информацию во время выполнения.

10x.

1 ответ

Решение

System.getProperty("java.vm.version") - Если система использует ART, возвращаемое значение будет равно "2.0.0" или выше, что означает, что основными версиями ниже 2 будет Dalvik. Эта часть понимания взята из раздела " Решения проблем сбора мусора (GC) " с рекомендациями по проверке поведения приложений в среде выполнения Android.

Примеры кода

// catch only version 2 and not higher
// false for Dalvik, true for current ART, false for any new runtimes
boolean isArt = System.getProperty("java.vm.version").startsWith("2.");

// catch version 2 and above
// false for Dalvik, true for current ART, true for any new runtimes
boolean isArt = false;
try {
    isArt = Integer.parseInt(System.getProperty("java.vm.version")
            .split(".")[0]) >= 2;
} catch (NumberFormatException e) {
    // we suppress the exception and fall back to checking only for current ART
    isArt = System.getProperty("java.vm.version").startsWith("2.");
}
Другие вопросы по тегам