位置:首頁 > 高級語言 > Swift教學 > Swift自動引用計數的工作機製

Swift自動引用計數的工作機製

自動引用計數的工作機製

當你每次創建一個類的新的實例的時候,ARC 會分配一大塊內存用來儲存實例的信息。內存中會包含實例的類型信息,以及這個實例所有相關屬性的值。此外,當實例不再被使用時,ARC 釋放實例所占用的內存,並讓釋放的內存能挪作他用。這確保了不再被使用的實例,不會一直占用內存空間。

然而,當 ARC 收回和釋放了正在被使用中的實例,該實例的屬性和方法將不能再被訪問和調用。實際上,如果你試圖訪問這個實例,你的應用程序很可能會崩潰。

為了確保使用中的實例不會被銷毀,ARC 會跟蹤和計算每一個實例正在被多少屬性,常量和變量所引用。哪怕實例的引用數為一,ARC都不會銷毀這個實例。

為了使之成為可能,無論你將實例賦值給屬性,常量或者是變量,屬性,常量或者變量,都會對此實例創建強引用。之所以稱之為強引用,是因為它會將實例牢牢的保持住,隻要強引用還在,實例是不允許被銷毀的。