有一种情况:

for (int i = ; i < ; i++) {

        NSString *s = @"ABC";
s = [s lowercaseString];
s = [s stringByAppendingString:@"ac"];
NSLog(@"%@", s);
}

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

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

 for (int i = ; i < ; i++) {

        @autoreleasepool {

            NSString *s = @"ABC";
s = [s lowercaseString];
s = [s stringByAppendingString:@"ac"];
NSLog(@"%@", s);
}
}

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

每一百次就释放:

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

04-27 07:51