国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

既然設置了ARC,為什么還要使用@autoreleasepool

2019-11-07 23:56:02
字體:
來源:轉載
供稿:網友
用@autoreleasepool是有用的。正常情況下,你創建的變量會在超出其作用域的時候被釋放掉。而如果你的函數寫的很長,在你函數運行過程中出現很多中間變量,占據了大量的內存,怎么辦?用@autoreleasepool。

在@autoreleasepool中創建的變量,會在@autoreleasepool結束的時候執行一次release,進行釋放。其實@autoreleasepool就相當于一層作用域。

ARC 并不是舍棄了 @autoreleasepool,而是在編譯階段幫你插入必要的 retain/release/autorelease 的代碼調用。

所以,跟你想象的不一樣,ARC 之下依然是延時釋放的,依然是依賴于 NSAutoreleasePool,跟非 ARC 模式下手動調用那些函數本質上毫無差別,只是編譯器來做會保證引用計數的正確性。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苗栗市| 罗田县| 沧州市| 闸北区| 榆林市| 木兰县| 岳西县| 麦盖提县| 泸西县| 洛阳市| 应城市| 镇赉县| 荔浦县| 旬阳县| 驻马店市| 黎城县| 个旧市| 宁明县| 巴东县| 收藏| 河池市| 牙克石市| 荥阳市| 定襄县| 肥东县| 宁乡县| 石阡县| 绥棱县| 荥阳市| 广灵县| 凤城市| 苏尼特右旗| 肥东县| 八宿县| 凉城县| 双鸭山市| 积石山| 乐至县| 岑巩县| 蛟河市| 化隆|