-3

根据 wiki ( http://en.wikipedia.org/wiki/Android_Runtime),Dalvik完全被 Lollipop 中的 ART 取代,即从该版本开始,任何应用程序都将在安装时编译为本机代码。这就引出了一个问题,如果应用程序无论如何都会被编译为本机代码,那么在 NDK 中编写计算密集型例程是否有意义?

4

2 回答 2

1

Dalvik VM 还将代码编译为本机代码。不同之处在于,Dalvik 做到了“及时”,并且只针对频繁执行的代码部分。

Art 中的编译器与 Dalvik 中的编译器相比有许多性能改进,但如果您以前觉得需要原生性能来提高性能,那么您很可能会继续感到这种需要。

于 2015-06-12T16:51:29.080 回答
0

ART 不会产生 C 语言等意义上的纯“本机代码”。它仍然是从 Java 源生成的字节码。

所以是的,当然,用 NDK 编写一些例程还是有很多好处的:)

于 2015-06-12T08:29:28.153 回答