【发布时间】:2017-08-30 03:05:51
【问题描述】:
我不太确定android平台上的linux进程中加载了哪种代码。
如果android采用Dalvik,进程中包含一个Dalvik VM和应用程序的代码,代码是Dalvik字节码的形式吗?如果是,代码是否和.apk文件中的classes.dex一样?
如果android采用Android Runtime (ART),由于classes.dex已经被翻译成native机器码,所以我认为app在Linux进程中的代码不会是Dalvik字节码,而是native机器码。如果我的理解是正确的,那么 Dalvik VM 是否仍然包含在进程中?
【问题讨论】:
-
Dalvik 已停产,ART 使用 AOT 编译,所以我假设二进制文件是原生的。
-
意思是,你想知道采用ART之后Android使用什么VM,因为ART只是一个运行环境?
-
@AnkurSamarya 我想知道,如果使用 ART,VM 是否仍然需要。
标签: java android linux dalvik android-runtime