找出android运行时版本

时间:2014-11-20 17:59:16

标签: android android-ndk dalvik android-runtime

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

10倍。

1 个答案:

答案 0 :(得分:2)

System.getProperty("java.vm.version") - 如果系统使用ART,则返回的值将为“2.0.0”或更高,这意味着低于2的主要版本将是Dalvik。这篇见解来自 Addressing Garbage Collection (GC) Issues 部分,用于在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.");
}