15

目前,可以将类文件动态加载.dex到 Android 的 Dalvik VM 中。这也可能用于运行时的动态代码生成

即将到来的 ART 运行时这仍然可能吗?

4

1 回答 1

10

它似乎和 Dalvik 一样工作。

感谢 matiash 引用 I/O 2014 演讲!我看过它的视频记录,以下是开发人员在运行时代码加载时必须说的(摘自成绩单):

[来自观众的问题:] 所以我想知道 ART 将如何通过可能在编译后甚至运行时发生的字节码注入来实现[?]。

[...]

[Ian Rogers 的回答:] 因此,Dalvik 拥有并且 ART 继续使用的模型是,对于类加载器,我们必须拥有类加载器通过文件备份的所有内容。因此,Dalvik 从来没有支持过执行结束内存注入指令,等等。

如果您在磁盘上有一个文件,那么我们可以提前编译并放入我们的缓存中,这样我们就不会一直重新生成它。所以基本上,它的工作方式与 Dalvik 相同。

于 2014-07-09T11:10:52.343 回答