Kotlin 1.8.0 版本已经正式发布,以下是该版本更新中的一些主要内容:
针对 JVM 的新实验性功能:递归复制或删除目录内容
Kotlin 1.8.0 为java.nio.file.Path引入了两个新的扩展函数:copyToRecursively()和deleteRecursively(),它们允许你以递归方式:-
将一个目录及其内容复制到另一个目的地
-
删除一个目录和它的内容
用于java.nio.file.path的这些新函数是实验性的。要使用它们,你需要选择加入@OptIn(kotlin.io.path.ExperimentalPathApi::class)或@kotlin.io.path.ExperimentalPathApi。另外,你也可以使用编译器选项-opt-in=kotlin.io.path.ExperimentalPathApi。
改进了 kotlin-reflect 的性能
利用kotlin-reflect现在是用 JVM target 1.8 编译的这一事实,我们将内部缓存机制迁移到 Java 的ClassValue。以前我们只缓存KClass,但现在我们也缓存了KType和KDeclarationContainer。这些变化使得调用typeOf()时的性能得到了明显的改善。新增 -Xdebug 编译器选项,以获得更好的调试体验
Kotlin 1.8.0 增加了一个新的-Xdebug编译器选项,它可以禁用优化以获得更好的调试体验。目前,该选项禁用了 coroutines 的 "已优化" 功能。在未来,当我们添加了更多的优化功能后,这个选项也将禁用它们。
kotlin-stdlib-jdk7和kotlin-stdlib-jdk8合并为kotlin-stdlib
在 Kotlin 1.8.0 中,标准库(kotlin-stdlib、kotlin-reflect和kotlin-script-*)是用 JVM target 1.8 编译的。此前,标准库是以 JVM target 1.6 编译的。Kotlin 1.8.0 不再支持 JVM targets 1.6 和 1.7。因此,你不再需要在构建脚本中单独声明kotlin-stdlib-jdk7和kotlin-stdlib-jdk8,因为这些工件的内容已经并入kotlin-stdlib。改进了 Objective-C/Swift 的互操作性
为了使 Kotlin 与 Objective-C 和 Swift 更具有互操作性,1.8.0 增加了三个新的注解:-
@ObjCName允许你在 Swift 或 Objective-C 中指定一个更习惯的名字,而不是重新命名 Kotlin 声明。 -
@HiddenFromObjC允许你从 Objective-C 中隐藏一个 Kotlin 声明 -
@ShouldRefineInSwift对于用 Swift 编写的包装器替换 Kotlin 声明很有用
与 Gradle 7.3 兼容
Kotlin 1.8.0 完全支持 Gradle 7.2 和 7.3 版本,这个版本带来了很多变化:-
将 Kotlin 编译器选项作为 Gradle 惰性属性公开
-
提高了最小支持版本
-
能够禁用 Kotlin 守护程序的回退策略
-
强制检查相关的 Kotlin 和 Java 编译任务的 JVM target 兼容性是否相等
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
SWIFT
+关注
关注
0文章
125浏览量
24849 -
kotlin
+关注
关注
0文章
60浏览量
4511
原文标题:Kotlin 1.8.0发布,改进性能和Swift的互操作性
文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
为什么选择 Nordic 的低功耗蓝牙解决方案?
,我们的协议栈可提供具有行业领先互操作性的强大蓝牙 LE 通信。
经过验证的质量、可靠性和互操作性: 在数以千计的开发人员和数十亿无线 So
发表于 04-16 10:40
吉事励引领电动汽车充电互操作性与兼容性测试新风向
在电动汽车行业蓬勃发展的进程中,充电桩的互操作性与兼容性已成为决定行业能否持续稳健前行的核心要素。这不仅关系到用户充电体验的优劣,更影响着整个产业生态的健康发展。
是德科技携手爱立信赋能Pre-6G互操作性验证
是德科技(NYSE: KEYS )近日宣布,与爱立信携手合作,使用是德科技的WaveJudge无线分析仪解决方案,对爱立信Pre-6G基站(gNB)与Pre-6G原型设备间的互操作性进行故障排查
通过恩智浦RW612三频无线MCU提升多协议互操作性
无线连接是现代智能家居和工业系统的基石,推动着无数更智能、更自主设备的普及。恩智浦非常重视无线互操作性,确保生态合作体系中的每台设备能够无缝协同工作的关键能力。
爱立信携手苹果和联发科技加速构建6G生态系统
爱立信正通过与苹果和联发科技等领先设备及芯片制造商建立战略合作伙伴关系,加速构建6G生态系统,驱动下一代连接技术的创新与互操作性,助力运营商及整个产业为移动网络的未来做好准备。
IO序列化操作:提升系统互操作性的关键技术
在异构系统并存的今天,IO序列化操作成为实现系统间互操作性的核心技术。通过标准化的数据格式(如JSON、Protobuf、Hessian等),不同语言、平台的系统得以无缝交换信息。合理设计序列化策略
Matter 1.5 正式发布
景,包括对摄像头、闭合设备、土壤传感器的支持,同时还新增多项能源管理功能。此次更新延续了 Matter 的核心使命,即简化智能家居开发流程、增强设备互操作性,为消费者与开发者打造更丰富、更可持续的互
是德科技与HEAD acoustics成功完成新一代eCall系统互操作性测试
是德科技(NYSE: KEYS )近日宣布,其基于UXM的新一代eCall(NG eCall)解决方案,已成功与全球汽车声学测试领导者HEAD acoustics GmbH完成互操作性测试。
全新升级 | 匠芯创AiUIBuilder V2.0.0发布
近日,匠芯创自主研发的GUI开发工具AiUIBuilderV2.0.0发布。作为一款基于LVGL的UI设计工具,AiUIBuilder致力于通过拖拽式操作,加速基于匠芯创嵌入式平台的图形应用开发
Microchip与AVIVA Links实现ASA-ML互操作性验证
汽车行业正加速从专有串行器/解串器(SerDes)解决方案向汽车串行器/解串器联盟(Automotive SerDes Alliance)及其首个开放标准——ASA Motion Link(ASA-ML)构建的可互操作系统生态过渡。
Kuikly鸿蒙版正式开源 —— 揭秘卓越性能适配之旅
和Kotlin Native可以直调、无额外跨VM/语言调用开销。除了早期CAPI版本存在一些Bug和功能缺失等问题,CAPI方案也在开发难度、复杂性上也更高,但为了追求极致性能表现,我们最终决定采用
发表于 06-04 16:46
解读新发布的 Matter 1.4:推动智能家居设备互操作性的关键升级
着Matter 1.4的发布,智能家居和物联网(IoT)行业迎来了新的里程碑。Matter作为全球统一的智能家居互联协议,在互操作性、安全性和能效优化等方面取得了重大突破。本文将从Ma
Kotlin 1.8.0发布,改进性能和Swift的互操作性
评论