ios 开发内存管理原则
2011-04-08 12:18
197 查看
当你使用new alloc copy方法创建一个对象是,该对象的引用计数为1。当你不在使用该对象时,你要负责向该对象发送一条release(或者时autorelease)消息。
当你通过其他任何方法获得一个对象时,我们(方法的调用者和方法的实现者)都假设该对象的引用计数为1,而且已经被设置成自动释放。如果你把它当临时对象来用,你不需要执行任何释放(release或autorelease)操作。但如果你打算拥有它,或者说是你当算把它保存成为你的某个成员变量,则你需要在保存对象时(一般在setXXX方法中)把引用计数加1,在操作完成后(一般时在dealloc中)释放该对象(引用计数减1)
一般setXXX实现如下:
-(void)setXXX: (NSObject)obj{
[obj retain];
[m_var release];//m_var 为成员变量
m_var = obj;
}
iphone中不要使用内存池和垃圾回收!
当你通过其他任何方法获得一个对象时,我们(方法的调用者和方法的实现者)都假设该对象的引用计数为1,而且已经被设置成自动释放。如果你把它当临时对象来用,你不需要执行任何释放(release或autorelease)操作。但如果你打算拥有它,或者说是你当算把它保存成为你的某个成员变量,则你需要在保存对象时(一般在setXXX方法中)把引用计数加1,在操作完成后(一般时在dealloc中)释放该对象(引用计数减1)
一般setXXX实现如下:
-(void)setXXX: (NSObject)obj{
[obj retain];
[m_var release];//m_var 为成员变量
m_var = obj;
}
iphone中不要使用内存池和垃圾回收!
相关文章推荐
- iOS开发之内存管理:关于assign,retain和copy
- Objective-C(十五、内存管理,MRC,循环引用,dealloc和setter方法)——iOS开发基础
- IOS开发系列—Objective-C之内存管理
- IOS开发之内存管理(2)
- IOS开发之Block的使用和内存管理
- IOS开发学习笔记013-内存管理
- IOS开发中的内存管理(二)
- iOS开发笔记--先弄清楚这里的学问,再来谈iOS内存管理与优化(二)
- iOS应用开发应遵循的10条设计原则
- 小白学开发(iOS)OC_ 单个对象的内存管理(2015-08-02)
- iOS开发ObjectC内存管理
- iOS开发-内存管理
- IOS开发系列----Objective-c的内存管理
- M牛C原创博客——IOS开发中的MRC内存管理中七大知识点
- iOS开发 - 内存管理
- iOS开发 - Block块的使用(二)内存管理和特性
- iOS开发ARC内存管理技术要点
- iOS开发ARC内存管理技术要点
- iOS开发--内存管理之内存分配
- IOS开发之内存管理--dealloc该写些什么