美文网首页
Swift 中的自动引用计数

Swift 中的自动引用计数

作者: 一个栗 | 来源:发表于2022-03-02 15:01 被阅读0次

    ARC

    • Swift 使用自动引用计数(ARC)来跟踪并管理应用使用的内存。大部分情况下,这意味着在 Swift 语言中,内存管理“仍然工作”,不需要自己去考虑内存管理的事情。当实例不再被使用时,ARC 会自动释放这些类的实例所占用的内存。
    • 引用计数只应用在类的实例。结构体(Structure)和枚举类型是值类型,并非引用类型,不是以引用的方式来存储和传递的。

    ARC如何工作

    循环引用

    • 通过弱引用或者无主引用来取代强引用

    解决循环引用

    • 弱引用和无主引用允许引用环中的一个实例引用另外一个实例,但不是强引用。因此实例可以相互引用但是不会产生强引用环。
    • 对于生命周期中引用会变为 nil 的实例,使用弱引用;对于初始化时赋值之后引用再也不会赋值为 nil 的实例,使用无主引用。

    弱引用

    无主引用

    闭包引用循环

    闭包引用循环解决

    相关文章

      网友评论

          本文标题:Swift 中的自动引用计数

          本文链接:https://www.haomeiwen.com/subject/gposrrtx.html