从品牌网站建设到网络营销策划,从策略到执行的一站式服务
自动释放池
是一种半自动的内存管理方式
autorealease方法:
- (instancetype)autorelease
此方法将对象放到自动释放池中,当自动释放池销毁时,池中的所有对象都会随之销毁。
常见的使用方式:
Person *p = [[[Perosn alloc] init] autorelease];
使用@autoreleasepool关键字来使用自动释放池
其后的{…}相当于自动释放池的生存期 ,如:
@autoreleasepool { Person *p = [[[Perosn alloc] init] autorelease]; … }
好处:不用关心对象释放的时间、不用关心什么时候调用release
注意:
1)占用内存较大的对象尽量不要随意使用autorelease
2) @autoreleasepool可以嵌套
系统中有一个自动释放池的栈结构,autorelease方法是将对象放入到栈顶得池子中
3)不要多次调用autorelease,如:
[[[[Person alloc] init] autorelease] autorelease];
4)自动释放池销毁时会对池子中的对象release一次,也就是说autorelease方法并没有更改引用计数。
将autorelease方法封装在类对象方法中是一个比较好的做法
+ (AMPerson*) person { //return [[[Person alloc] init] autorelease]; return [[[self alloc] init] autorelease]; }
旧版本的自动释放池的使用:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; … [pool release];
自Xcode5之后基本都是使用autorelease
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图