garbage-collection - swift 如何处理确定性终结?

标签 garbage-collection finalizer swift

我有 C# 背景;据我了解,Swift 具有像 C# 一样的自动内存管理。

C# 中需要使用“编程模式”的一个问题是及时释放资源,因为垃圾收集器在未定义的时间运行,因此不能用于关闭文件、释放网络连接等(因此 IDisposable和“使用”关键字)

用 Swift 编程时如何处理?

最佳答案

Swift seems to use有与 Objective-C 相同的内存管理模型与 ARC启用。

这意味着没有垃圾收集器。相反,当设置(强)引用时,ARC 使用引用计数和编译器插入的递增和递减操作。

没有(线程)收集器意味着终结在 Swift 中是确定性的。当最后一个引用超出范围时,对象将被释放。

关于garbage-collection - swift 如何处理确定性终结?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24010551/

相关文章:

ios - Swift 如何创建像 UIViewController 这样的通用 MVP

c# - 为什么 GC 会将对象放入终结队列?

java - 在 Java 对象被垃圾收集之前对其进行回调

java - 是否有可能控制反序列化文件时创建的对象数量

java - Finalizer 线程会导致内存不足吗?

python-3.x - 如何向pytest的request.addfinalizer()中传递的函数添加参数?

swift - UICollectionView 水平滚动与静态焦点项目

ios - 正确的方式设置 'Root ViewController' 到 'UINavigationController' 子类

java - Java 8 中的 MetaSpace 有什么用?

java - 由于 GC 在线程情况下最终会跳过 block 吗?