ios开发使用for、while、do-while需要注意的地方

使用for、while、do-while循环遍历数据量大的时候,出现内存使用率不断增加有可能直至内存告警,APP被杀掉,因为在使用上述方法遍历数组这个短暂的生命周期内,会产生大量的临时内存,而这些临时内存直至循环结束才释放。解决方法如下

for(inti=0; i<1000000000; i++) {

@autoreleasepool{

int b=i;

NSLog(@"b:%d",b);

}

}

即将循环体里面放入自动释放池里面。

例如,下面一段代码就应该放在自动释放池中

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

NSString *string = @”Abc”;//常量区

string = [string lowercaseString];//新的堆区

string = [string stringByAppendingString:@"xyz"];//新的堆区

NSLog(@“%@”, string);

}

你可能感兴趣的:(ios开发使用for、while、do-while需要注意的地方)