ios 循環(huán)引用(block)

? ? ?

? ? ?循環(huán)引用,顧名思義就是開發(fā)過程中兩個對象之間互相引用嫁乘,形成一個環(huán)路。在MRC時代球碉,內存都是程序員手動管理蜓斧,每一個對象、實例都需要程序員通過retain release操作去控制引用計數(shù)睁冬,這種時候雖然更加繁瑣挎春,但是內存都在程序員的控制范圍內。但是在使用ARC的時候豆拨,由于內存是ios 在編譯期通過系統(tǒng)的判斷去動態(tài)的將內存控制代碼(retain release delloc)添加到代碼中的合適位置直奋。雖然很大程度上解決了開發(fā)人員,使得開發(fā)人員可以將精力更多的放到app功能的開發(fā)中施禾,但是由于內存管理對程序員的不可控脚线,使得在開發(fā)人員不知情的情況下發(fā)生內存泄漏的情況很容易發(fā)生。

? ? ? 如果程序中產(chǎn)生了循環(huán)引用的問題弥搞,會由于對象之間互相引用邮绿,導致兩者都得不到釋放,從而導致內存泄漏拓巧。

block在ios開發(fā)過程中使用的情況非常多斯碌,block塊中使用塊外的變量、對象的情況也非常多肛度,當我們在使用block的時候發(fā)生這樣的情況傻唾,就會產(chǎn)生內存泄露。

某對象是某block的擁有者,而block中又使用了此對象冠骄,這是很經(jīng)典的一個情況伪煤,解決的辦法一個是將此對象nil,另一中是解決循環(huán)引用通用的方法凛辣。

將循環(huán)引用的一方改為弱引用另一方 :__weak typeof(self) weakSelf=self; 等

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末抱既,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子扁誓,更是在濱河造成了極大的恐慌防泵,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝗敢,死亡現(xiàn)場離奇詭異捷泞,居然都是意外死亡,警方通過查閱死者的電腦和手機寿谴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門锁右,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人讶泰,你說我怎么就攤上這事咏瑟。” “怎么了痪署?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵码泞,是天一觀的道長。 經(jīng)常有香客問我惠桃,道長浦夷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任辜王,我火速辦了婚禮,結果婚禮上罐孝,老公的妹妹穿的比我還像新娘呐馆。我一直安慰自己,他們只是感情好莲兢,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布汹来。 她就那樣靜靜地躺著,像睡著了一般改艇。 火紅的嫁衣襯著肌膚如雪收班。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天谒兄,我揣著相機與錄音摔桦,去河邊找鬼。 笑死,一個胖子當著我的面吹牛邻耕,可吹牛的內容都是我干的鸥咖。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼兄世,長吁一口氣:“原來是場噩夢啊……” “哼啼辣!你這毒婦竟也來了?” 一聲冷哼從身側響起御滩,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤鸥拧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后削解,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體富弦,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年钠绍,在試婚紗的時候發(fā)現(xiàn)自己被綠了舆声。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡柳爽,死狀恐怖媳握,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情磷脯,我是刑警寧澤蛾找,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站赵誓,受9級特大地震影響打毛,放射性物質發(fā)生泄漏。R本人自食惡果不足惜俩功,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一幻枉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诡蜓,春花似錦熬甫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至豺谈,卻和暖如春郑象,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茬末。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工厂榛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓噪沙,卻偏偏與公主長得像炼彪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子正歼,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內容

  • 《Objective-C高級編程》這本書就講了三個東西:自動引用計數(shù)辐马、block、GCD局义,偏向于從原理上對這些內容...
    WeiHing閱讀 9,843評論 10 69
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,168評論 30 470
  • iOS代碼塊Block 概述 代碼塊Block是蘋果在iOS4開始引入的對C語言的擴展,用來實現(xiàn)匿名函數(shù)的特性,B...
    smile刺客閱讀 2,351評論 2 26
  • 前言 Blocks是C語言的擴充功能喜爷,而Apple 在OS X Snow Leopard 和 iOS 4中引入了這...
    小人不才閱讀 3,774評論 0 23
  • Block使用場景,可以在兩個界面的傳值萄唇,也可以對代碼封裝作為參數(shù)的傳遞等檩帐。用過GCD就知道Block的精妙之處。...
    Coder_JMicheal閱讀 725評論 2 1