ios内存管理总结
2011-07-17 15:59
288 查看
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)来破除循环.
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)来破除循环.
相关文章推荐
- 对iOS开发中内存管理的一点总结与理解
- IOS ARC内存管理总结
- iOS中引用计数内存管理机制分析总结(NSString引用计数为-1的情况)
- 总结一下iOS中内存管理
- iOS内存管理小总结
- IOS内存管理知识总结【转】
- iOS ARC内存管理总结
- ios开发内存管理及内存泄漏整理总结
- 黑马程序员_IOS内存管理学习总结(三)
- ios经典面试题总结--内存管理
- iOS手动内存管理知识总结及发散思维
- ios内存管理总结
- 【iOS7的一些总结】5、iOS中的内存管理
- ios开发中内存管理总结
- 黑马IOS学习总结1--内存管理
- 黑马程序员_IOS内存管理学习总结(一)
- iOS 内存管理总结
- 黑马程序员_IOS内存管理学习总结(二)
- 黑马程序员_ios基础总结10_内存管理
- IOS内存管理总结