android - iOS 和 Android 上的 Kotlin/Native Garbage 收集
问题描述
我需要在 Kotlin Native 中为 iOS 和 Android 开发一个多平台模块。根据 kotlinlang 文档:
Objective-C 和 Swift 使用引用计数。Kotlin/Native 也有它自己的垃圾收集。Kotlin/Native 垃圾收集与 Objective-C/Swift 引用计数集成。
是不是说为 iOS 编译的 Kotlin/Native 不使用 CMS(Concurrent Mark Sweep)而使用 ARC(Automatic Reference Counting)?
是否有可能用 Kotlin 编写并为 iOS 编译的通用模块可能会泄漏,而为 Android 编译的相同模块可能完全没问题?
解决方案
即使在 Android 上,Kotlin/Native 也不使用 Concurrent Mark-Sweep 垃圾收集器。它使用带有循环收集器的自动引用计数器来收集循环垃圾(https://github.com/JetBrains/kotlin-native/blob/master/FAQ.md)。因此,在两个平台上的行为应该或多或少相同。
推荐阅读
- ios - 有一个反应原生 ios 问题“苹果匹配 0 链接器错误”
- php - laravel 5.8 无法更新数据库中的值
- html - 在 bootsrap 和 body 的导航栏顶部添加一个图层以保持可滚动
- html - Thymeleaf:循环后删除包含迭代属性(th:each)或评估后包含条件属性(th:if)的div
- ios - 为什么推送通知ios在重启设备后会起作用?
- azure - 默认发布与选择 Azure 中的发布目标
- javascript - 年龄应该根据asp.net中的出生日期计算吗?
- swift - Firestore 字符串数组不断被覆盖
- iterator - 从 WSO2 ESB/EI 中聚合的 enclosureElementProperty 获取元素
- reactjs - 带有 html2canvas 的框阴影 - 从 git 安装构建