//autorelease 会将声明为autorelease的对象放入离它最近的自动释放池中,当自动释放池销毁时,会向池中的每一个对象发送一个release消息.
// [pool release];
// @autoreleasepool {
// for (long i = 0; i < 10000000; i++) {
// Person *per = [[Person alloc]init];
// [per autorelease];
// }
//如果你对一个对象进行alloc,retain,copy之后,你就拥有了该对象的所有权,你就必须对它进行release或者autorelease.
@autoreleasepool {
NSString *per = [[NSString alloc]init];//0-1
[per retain];//1-2
[per retain];//2 -3
//栈区,常量,堆区
per = @"aa";
[per release];//
[per release];
[per release];
//内存泄露
//常量内存内存系统管理
}
// [pool release];
// @autoreleasepool {
// for (long i = 0; i < 10000000; i++) {
// Person *per = [[Person alloc]init];
// [per autorelease];
// }
// }
//如果你对一个对象进行alloc,retain,copy之后,你就拥有了该对象的所有权,你就必须对它进行release或者autorelease.
@autoreleasepool {
NSString *per = [[NSString alloc]init];//0-1
[per retain];//1-2
[per retain];//2 -3
//栈区,常量,堆区
per = @"aa";
[per release];//
[per release];
[per release];
//内存泄露
//常量内存内存系统管理
}