Узнать версию для 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.");
}