我听说,无论是对还是错,都必须专门针对Android Runtime编写应用程序,以便在给定设备上将字节码更改为本机机器代码。这是真的?如果是这样,我该怎么做?
我知道类似的问题,但我发现的所有问题都与NDK有关,但事实并非如此。
答案 0 :(得分:2)
考虑到改变最重要的事情是应用程序的编译方式,应该没有必要编写应用程序来考虑这个问题。
在KitKat之前的Android版本上,应用程序使用“经典”即时编译方案运行,即代码在运行时编译 (简单来说)。与ART的不同之处在于ART使用所谓的 Ahead-of-Time 编译。这意味着您的相同代码在之前预先编译,它实际上在设备上运行。
可以找到一个非常简单但更具技术性的比较here。
如果我是你,我不会太担心,因为除了那些愿意深入了解原生代码的人之外,大多数程序员都会在经典应用程序的所有层上编写代码 建筑;甚至应该运行时/编译/ etc更改,这不应该影响顶级代码的编写方式。那些愿意深入本土代码的人也可以在后KitKat时代做到这一点。