【问题标题】:Do I need to upgrade to Java 8 for my Android Studio if I'm just writing in Kotlin?如果我只是在 Kotlin 中编写,是否需要为我的 Android Studio 升级到 Java 8?
【发布时间】:2019-12-24 05:57:47
【问题描述】:

我正在开发一个使用 Java 的旧项目。它基于 Java 7。 但现在都是新代码的 Kotlin 类。

在我们的 gradle 中仍然是

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

只是好奇,是否需要升级到 Java 8,如果继续前进,我将使用 Kotlin 编写代码?

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

来自https://developer.android.com/studio/write/java8-support,看起来这样做的唯一原因是如果我们打算用 Java 8 编写。但我很好奇,想避免不升级和错过一些可能受益的全新 Java 优化到 Android 中的 Kotlin 项目?

【问题讨论】:

    标签: java android android-studio kotlin java-8


    【解决方案1】:

    是的,您仍然应该升级到 Java 8。这主要是因为许多现代版本的关键库,例如 okhttp 3.13 and higher 现在都需要 Java 8。此外,所有最近的 AndroidX -ktx 工件,例如 Fragment's fragment-ktxWorkManager's work-runtime-ktx 都需要 Java 8。

    Android's Java 8 Support blog post

    即使您正在编写 100% Kotlin 代码,Android 的开发工具链和对较新 Java 语言功能的 VM 支持仍然很重要。新版本的 Java 在字节码和 VM 中带来了更高效的结构,Kotlin 可以利用这些结构。

    因此,随着对 Java 8+ 的通用工具链支持不断改进,您的 Kotlin 代码生成的字节码也将不断改进。

    【讨论】:

      猜你喜欢
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多