安卓ART是否支持像Dalvik一样的运行时动态类加载?

15

2
目前,ART的文档相当稀少。如果您不介意等待,我建议您观看2014年I/O大会上即将举行的这个会话 :) [https://www.google.com/events/io/schedule/session/b750c8da-aebe-e311-b297-00155d5066d7] - matiash
很遗憾,看起来不可能:https://dev59.com/aV4c5IYBdhLWcg3w9-J2 - gturedi
@gturedi:你链接的问题现在有一个声称有效的答案。 - mhsmith
1个回答

10

看起来它的工作方式与Dalvik相同。

感谢matiash提到2014年I/O大会的演讲!我已经观看了视频录像,以下是开发人员在运行时代码加载方面的论述(摘自转录稿):

[听众的问题:] 我想知道ART如何与编译后或甚至在运行时可能发生的字节码注入进行协调。

[...]

[Ian Rogers的回答:] 因此,Dalvik采用的模型和ART继续采用的模型是,对于类加载器,我们必须将类加载器支持的所有内容都备份到文件中。因此,Dalvik从未支持过执行内存注入指令等操作。

如果您在磁盘上有一个文件,那么这是我们可以提前进行编译并将其放入缓存中,以便我们不必一直重新生成它。因此,基本上它的工作方式与Dalvik相同。


1
由于ART的原因,它不适用于Android 5.0 Lollipop及以上版本:https://dev59.com/aV4c5IYBdhLWcg3w9-J2 - gturedi
1
@gturedi:你链接的问题现在有一个声称有效的答案。 - mhsmith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接