当你在for循环里面创建大量的对象的时候,如果循环很多,内存会在短暂时间内暴涨。怎么解决呢?加个自动释放池,就会完美解决。下面举个小例子:
int sum = 1000 * 1000;
for (int i = 0; i < sum; i ++) {
//加个自动释放池 @autoreleasepool
@autoreleasepool {
NSString * str = [NSString stringWithFormat:@"你好"];
str = [NSString stringWithFormat:@"%@",@"世界!"];
//每次循环结束,系统都会帮助我们管理这两个对象,这样内存就会停留在一个合理的范围内。
}
}
网友评论