0

有没有找出当前使用的android运行时版本?例如,在 android v4.4 上,您可以在 dalvik 和 art 之间滑动,我想在运行时找出这些信息。

10 倍。

4

1 回答 1

2

System.getProperty("java.vm.version")- 如果系统使用了 ART,则返回值将是“2.0.0”或更高版本,这意味着低于 2 的主要版本将是 Dalvik。这篇见解来自在 Android 运行时验证应用行为的最佳实践的解决垃圾收集 (GC) 问题 部分。

代码示例

// 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.");
}
于 2014-11-20T18:11:30.953 回答