iOS非ARC内存管理摘要
来源:互联网 发布:绝地求生a卡优化设置 编辑:程序博客网 时间:2024/06/08 16:20
关于ios内存管理。在开发过程中,内存管理很重要,我简单说明一下。
1.正确用法
UIView *v = [[UIViewalloc] init]; //分配后引用计数为1
[self.view addSubview:v]; //这儿引用计数加1,为2
[v release]; //这儿引用计数为1
最后系统在回收self.view的时候,会先回收其subView,所以v会被自动回收
2.如果v是类的成员变量,写了如下代码,不需要再在类的dealloc方法里[vrelease];
v = [[UIView alloc] init];
[self.viewaddSubview:v];
[v release];
如果在dealloc里调用了release,那么就多release了,会crash.
3.如果v是类的属性,分两种情况
a. @property (nonatomic,assign) UIView *v; 这儿是assign, 然后分配内存的时候如果是这样
v = [[UIView alloc] init];
[self.viewaddSubview:v];
[v release];或是这样用
v = [[UIView alloc] init];
[self.viewaddSubview:v];
[v release];
都不需要在dealloc里[v release];
b.@property (nonatomic,retain) UIView *v;或 @property (nonatomic,copy) UIView *v;声明的属性,那么这样分配内存
v = [[UIView alloc] init];
[self.viewaddSubview:v];
[v release];这样与a是一样情况,不需要在dealloc里释放。但如果是
self.v = [[UIView alloc] init];
[self.viewaddSubview:v];
[v release];加了个self,那么就要在dealloc里[vrelease];
给新人配训时的摘要。
- iOS非ARC内存管理摘要
- iOS非ARC内存管理摘要
- iOS 内存管理--使用MRC(非ARC)
- iOS内存管理--ARC
- iOS ARC内存管理
- iOS arc 内存管理
- iOS 非ARC内存管理 autorelease方法和@autoreleasepool
- iOS非ARC的项目内存管理细节详解
- 内存管理总结-ARC和非ARC
- iOS学习 ARC内存管理
- ios 自动内存管理 ARC
- iOS ARC内存管理基本原理
- iOS ARC内存管理总结
- iOS--内存管理和ARC
- ios arc下内存管理
- iOS ARC 内存管理要点
- IOS ARC内存管理总结
- iOS 内存管理(ARC)
- java加密解密研究2、Bouncy Castle和Commons Codec加密组件
- jquery针对table单元格的处理
- dd dl布局多行多列
- JS 屏蔽键盘不可用 屏蔽鼠标右鍵不可用
- java mysql 的连接
- iOS非ARC内存管理摘要
- 追MM与Java的23种设计模式
- ATM层次模型 你了解多少?
- 夏季晚睡早起符合养生原则
- Rdlc技巧,rdlc报表中获取文本框或某个表格单元格中的内容
- jquery 树形导航条
- QML各个属性详解
- 失去root权限后找回
- 这十月,与c++代码相伴的日子