0

現在使用されている Android ランタイムのバージョンを確認する必要はありますか? たとえば、Android v4.4 では、dalvik とアートの間をスワイプできます。実行時にこの情報を見つけたいと考えています。

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 に答える