@autoreleasepool 在 ARC 里还是挺有意义的

for (int j = 0; j < 10000; ++j) {
        @autoreleasepool {
            for (int i = 0; i < 10000; ++i) {
                NSNumber *number = [NSNumber numberWithInt:(i+j)];
                NSLog(@"number = %p", number);
            }
        }
    }
}

如果没有 @autoreleasepool 标签,则整个循环完成后需要释放10000 * 10000个对象,而用了@autoreleasepool标签,每次释放10000个对象,减少CPU利用峰值

你可能感兴趣的:(@autoreleasepool 在 ARC 里还是挺有意义的)