////autorelease注意事項
#import
#import
"person.h
"int main(int argc, const
char *ar**)
//1.一定要在自動釋放池中呼叫autorelease, 才會將物件放入自動釋放池中
person *p4 =[[[person alloc] init] autorelease];
//4.乙個程式中可以建立n個自動釋放池, 並且自動釋放池還可以巢狀
//如果存在多個自動釋放池的時候, 自動釋放池是以 "棧" 的形式儲存的
//棧的特點: 先進後出
//給乙個物件方法傳送一條autorelease訊息, 永遠會將物件放到棧頂的自動釋放池
@autoreleasepool
//第三個釋放池銷毀,會將p釋放。
person *p1 = [[[person alloc] init] autorelease];//
放在第二個釋放池裡面,因為第二個池子在最上面,}//
第二個釋放池銷毀,此時p1會銷毀
}//第乙個釋放池銷毀
@autoreleasepool
return0;
}
////自動釋放池大物件問題
////
created by xiaomage on 15/6/26.
////
#import
"viewcontroller.h
"#import
"person.h
"@inte***ce
viewcontroller ()
@end
@implementation
viewcontroller
- (void)touchesbegan:(nsset *)touches withevent:(uievent *)event
*///
2.盡量不要再自動釋放池中使用迴圈, 特別是迴圈的次數非常多, 並且還非常占用記憶體
@autoreleasepool
} //只有執行到這一行, 所有的物件才會被釋放
/*for (int i = 0; i < 99999; ++i) // 執行到這一行, 自動釋放池就釋放了
}*/nslog(
@"--------");
}@end