我对这个话题做了一些研究。喜欢这篇文章:Under ARC, is it still advisable to create an @autoreleasepool for loops?
但我还有一个问题。 例如,给出2个代码段。 一个是这样的:
for (...) {
...create some local variables...
}
另一个是这样的:
for (...) {
@autoreleasepool {
...create some local variables...
}
}
我知道第二个,每个新循环都会回收局部变量。但是对于第一个,我还认为在每个新循环中,局部变量将被回收,因为每个循环局部变量都超出了范围,所以它们应该由ARC来处理。
那么,我为什么要使用第二个?