作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 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/
我是一名优秀的程序员,十分优秀!