关于release后retainCount还是1的问题
生活随笔
收集整理的這篇文章主要介紹了
关于release后retainCount还是1的问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)自:http://www.cocoachina.com/bbs/read.php?tid=175523
realse之后再調(diào)用還能調(diào)用的的問題,我做了這么多年也是經(jīng)常遇到,也曾經(jīng)試圖尋找原因, 就像6樓說的,很多時候都會出現(xiàn)realse過后還能調(diào)用的現(xiàn)象。而且對象不是autorealse的。 我還遇到過奇葩的是,每次要等上好幾秒鐘再調(diào)用才會出現(xiàn)空指針異常。(代碼里絕對沒有手動多線程) 還有很多時候跟你測試的硬件環(huán)境還有關(guān),可以說,ios的內(nèi)存管理策略雖然一如既往的是一套,但是每個版本都有細微的變化, 使用中還是能感覺出來,只是沒有官方的說明,無法正確的解釋。不過隨著一些界面業(yè)務該用autorelease之后,這種現(xiàn)象越來越不關(guān)注了。 唯一的可能是,這塊內(nèi)存還沒有被重寫,這個可能的確是有的,因為你不用一塊內(nèi)存,不代表內(nèi)容真的清除掉,只是一個指針的單純移除而已,更好運氣是剛好被重寫為0,這樣是空爺不會崩潰這個和iOS無關(guān),幾乎所有的OS都有這個情況autorelease什么時候真正釋放,這個google一堆了,就不展開了 其實情況挺多的,你說的是一種,另外一種是,你的變量指針指向的地址,正好被 另一個對象用來存儲了,這樣,你release之后發(fā)現(xiàn),對象實體還是存在的,有可能已經(jīng)不是原來的實體了。 但是,再release一次,可能就會影響到其他的對象實體了?
總結(jié)
以上是生活随笔為你收集整理的关于release后retainCount还是1的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高级Java服务端工程师要求
- 下一篇: cas单点登录原理碎碎念