ios内存管理总结
1.在init函數中必須調用[super init],函數dealloc中必須調用[super dealloc].
2.調用以“alloc”,"new","copy","mutableCopy"開頭函數的生成的對象,必須release
3.對象調用retain,必須release
4.對象可以調用autorelease,延遲釋放.
5.每個線程中至少有一個AutoreleasePool.
6.對于NSArray,NSDictionary等collection,調用release會自動清除(remove and release)所有包含的對象.
7.如果你不想污染當前AutoreleasePool,可以這樣做
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
//你的代碼
[pool? release];
8.避免循環引用(retain),如?A->B B->C C->A,如果無法避免可以為對象添加其他釋放函數(dispose)來破除循環.
轉載于:https://www.cnblogs.com/delonchen/archive/2011/07/17/2108741.html
總結
- 上一篇: 5年博龄只有十几篇文章,惭愧呀
- 下一篇: 模块修改-column_left.php