谷歌在今年的 I/O 大会上宣布,Kotlin 编程语言现在是 Android 应用程序开发人员的首选语言(谷歌宣布 Kotlin 成为安卓开发首选)。 还有一个好消息, Kotlin 1.3.30 正式发布,做了对apple的支持。离上次发布1.3 时间过去半年。本次的该版本主要覆盖 1.3 版本的问题修复和工具完善。版本更新的主要范围为 Kotlin/Native、KAPT 的性能优化以及对 IntelliJ IDEA 的支持优化。 我们来回顾下 1.3的 新特性 稳定的协程 Kotlin/Native Beta 多平台项目和工具 用于 Kotlin/Native 和多平台的工具 Ktor 1.0 Beta
本次版本带来的牛逼特性主要对1.3完善,并且做了工具上的支持。
KAPT 支持注解处理器增量编译
KAPT 已经支持注解处理器增量编译,该特性仍处灰度实验阶段,你可以通过在gradle.properties中添加以下配置来启用它: kapt.incremental.apt=true 需要指出的是,在现有版本中引入任何非增量编译的注解处理器或者依赖的变化(截止目前,包括内部声明的修改)都会导致该模块的注解处理过程退化为非增量模式。 KAPT: 其他提升
引入了两个配置来提升编译性能。其一是使用 Gradle workers:
这个版本也对它做了优化。另一个是 1.3.20 引入的,开启 Compile Avoidance,就是说依赖如果只有方法体发生变化,那么就跳过注解处理。只有在所有的注解处理器都显式的在注解处理的 classpath 声明的情况下,Compile Avoidance 才会生效。
无符号数组的扩展方法
从 1.3 开始我们可以在开发模式下使用无符号数值类型。这个版本我们对无符号类型以及其数组做了更多的支持:
需要注意的是,我们之前就可以在无符号数组上使用函数式操作例如 filter 和 map ,这是因为无符号类型的数组实际上是实现了 Collection 接口的,例如 UIntArray 实现了 Collection 接口。 不过这样就涉及到了性能问题,因为在 UIntArray 被当作