内存管理总结
来源:互联网 发布:主播网络活动策划书 编辑:程序博客网 时间:2024/06/01 07:50
内存管理黄金法则:
1)如果对一个对象使用了alloc ,[mutable ]copy,retain 那你就必须使用对应的release或者autorelease释放
2)给全局对象赋值的时候需要将此对象retain
3)重写dealloc ,在dealloc中对全局的对象都release
4)在程序中使用来自Foundation,UIKit,AppKit 框架中的类时,需要先创建一个自动释放池,因为来自这些框架的类会自动创建并返回自动释放的对象
- (void)setDog :(Dog *)dog
{
if(_dog != dog) //先判断
{ [_dog release];
_dog = [dog retain];
}
}
- (void)dealloc //重写dealloc方法 release所有全局的对象
{
[_dog release];
[super dealloc];
}
//自定义初始化方法
- (id)initWithDog:(Dog *)dog
{
self = [super init];
if (self)
{
_dog = [dog retain]; //拿到狗对象的所有权
}
return self;
}
//先创建一个对象然后将它作为方法调用的结果返回 应该给对象发送autorelease消息
- (Dog *)getInfo{
Dog *dog = [[Dog alloc]init];
NSLog(@"%@",dog);
return [dog autorelease] ;
}
- JVM内存管理总结
- JVM内存管理总结
- java内存管理总结
- 内存管理总结
- JAVA 内存管理总结
- 内存管理学习总结
- Java 内存管理总结
- Java 内存管理总结
- oracle 内存管理 总结
- iOS 内存管理总结
- IOS内存管理总结
- 内存管理总结
- 内存管理高级总结
- JVM内存管理总结
- JVM内存管理总结
- ios内存管理总结
- OC内存管理总结
- OC内存管理总结
- TCP/IP 协议 - 1
- 重开博客~
- ImportREC重建输入表
- 10.4 N-Queens
- android之JUnit单元测式
- 内存管理总结
- 深入Cloud Foundry
- Java深入 - WEB容器监听器详解 ServletContextListener
- hdu 1261 字串数
- Linux QoS
- 的风格就开始打符号个
- [Leetcode]Letter Combinations of a phone number
- 我不尊重任何人,包括乔丹,因为我要胜利。——雷吉米勒
- 复制表A到表B