type
Post
status
Published
date
Apr 24, 2015
slug
summary
tags
iOS
category
技术分享
icon
password
在 MRC 的年代,autoReleasePool 是必学的内容,但是进入到 ARC 的时代之后,编译器会自动加入retain, release 和 autorelease 代码, autoReleasePool 越来越没有存在感了,难道它真的就是没有用了么?如果没用了为什么苹果还要保留
@autoreleasepool{}
这种使用方式呢?下面是 apple 官方关于 autoReleasePool 的描述
文档说的已经很清楚了,autoReleasePool 主要是为了解决内存峰值的问题的,如果在一个 for 循环里面创建了大量的对象,很容易因为内存不足而崩溃,这个时候我们可以使用如下代码来缓解
for (int i = 0; i++; i<5000000) { @autoreleasepool { NSString *string = [NSString stringWithFormat:@"string %@", @(i)]; } }
参考
[@AUTORELEASEPOOL](http://swifter.tips/autoreleasepool/)黑幕背后的Autorelease
好吧,这篇文章纯属是充数的。。。