我正在学习 Kotlin,想了解编译后的代码是如何执行的,以及它与 Android 上的 Java 代码执行有何不同。
我也想知道为什么我们要写MainActivity::class.java
(class.java
)来引用类文件。
谢谢!
最佳答案
how is it different from Java code execution with Android
事实并非如此。 Android 不执行 Java 代码或 Kotlin 代码。相反,有以下链:
Java/Kotlin/Scala/等。编译器接受 Java/Kotlin/Scala 代码并在
.class
文件中生成 JVM 字节码。Android Gradle 插件获取 JVM 字节码,将其转换为 Dalvik 字节码(使用
<dx
程序)并将其打包到.apk
中。当
.apk
文件安装在设备上时,ART将其包含的 Dalvik 字节码转换为机器代码。这是执行的机器代码(和/或 Dalvik 字节码)。 ART 不知道第 1 步中的源代码是哪种语言,也不在乎。
I also want to know why we write MainActivity::class.java (class.java) to reference class file.
你不知道。您编写它来引用与 MainActivity
类对应的 Class
对象。
关于java - Kotlin 代码如何在 Android 应用程序中执行,它与 Java 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47153013/