iOS內存管理原則(配對原則):只要出現了new,alloc,retain,就一定要對應一個release,autorelease狂塘。
MRC模式下的兩個關注點:
1般堆、避免野指針:對象不再使用時裁蚁,將它的指針變量賦值為nil抱究。給nil發(fā)送任何消息都不會報錯焕刮;
避免方式:在方法內創(chuàng)建對象時先初始化為nil邓馒,Person *p = nil;
2轿塔、避免內存泄漏:利用release方法直接釋放特愿,利用autorelease方法延遲釋放;
2.1勾缭、autorelease作用:對象在池中調用autorelease方法后揍障,將對象地址存入池中,并返回self(對象的指針地址)俩由,對池內池外創(chuàng)建的對象都有效毒嫡;
2.2、autorelease應用場景:自定義類工廠方法(類名開頭)時幻梯,用內部創(chuàng)建的對象調用此方法兜畸,再返回(系統(tǒng)提供的類名開頭方法返回的都是autorelease對象,所以不會發(fā)生也指針錯誤)碘梢;
2.3咬摇、autoreleasepool作用:池子銷毀時,對自己內部對象進行一次release操作(通過操作對象的內存地址);