开发人员是否应考虑针对DVM模式的ART(Android Runtime)的任何设计目标?

时间:2014-05-29 15:06:55

标签: android performance art-runtime

我想,提出这个问题可能有点早。但需要你的想法。

我读到了关于ART模式(Android Runttime)的内容,如下所示,

" ART是一个新的Android运行时,在4.4版本的KitKat中通过实验介绍。这是KitKat正在进行的工作预览。它可用于获得早期开发人员和合作伙伴的反馈。"

但也读到,如果切换到ART模式,某些应用可能会崩溃。所以,我想知道,在编程时我是否需要考虑任何设计目标来在ART和DVM模式下运行我的应用程序?

1 个答案:

答案 0 :(得分:1)

是的,当您盲目假设您的应用程序将在Dalvik上运行时,您可能会遇到一些问题。因此,即使ART仍处于试验阶段,因此普通用户不应使用,您可能需要考虑以下几点:

  • 动态Dex加载(如Facebook应用程序中使用的)可能无法在运行时使用,因为AOT编译器可能在运行时不可用。
  • 因此,任何使用运行时字节码操作的东西,如Clojure,在ART上运行时都可能遇到问题。
  • 根据this thread和Reddit的一些评论,Xamarin也遇到了ART的问题。

基本上,任何依赖在Dalvik特定功能上的东西都可能导致崩溃。

更新Apparently,使用ART进行dex加载工作正常, aot - 磁盘上的文件并缓存已编译的版本。真棒! :)