ARC 下处理内存暴涨的一个解决办法

有一种情况:

for (int i = 0; i < 1000000000; i++) {
        
        NSString *s = @"ABC";
        s = [s lowercaseString];
        s = [s stringByAppendingString:@"ac"];
        NSLog(@"%@", s);
    }

 运行, 内存暴涨!!!!!!

 这情况下, 给循环体里面的操作加一个 释放池 即可

 for (int i = 0; i < 1000000000; i++) {
        
        @autoreleasepool {
            
            NSString *s = @"ABC";
            s = [s lowercaseString];
            s = [s stringByAppendingString:@"ac"];
            NSLog(@"%@", s);
        }
    }

即每次执行完之后, 系统会自动帮我们立即释放, 这就不会使内存暴涨了

每一百次就释放:

原文地址:https://www.cnblogs.com/KeenLeung/p/5313861.html