在for循环中, 大量创建相同的临时变量的问题
-
在for循环中创建临时变量, 由于变量只有离开作用域的时候才会被释放, 所以会导致变量反复创建内存暴增
-
而正确的做法就是添加一个自动释放池, 变量使用结束后立刻释放, 避免内存开销
int someLargeNumber = 10000; for (int i = 0; i < someLargeNumber; i++) { @autoreleasepool { NSString *string = @"Abc"; string = [string lowercaseString]; string = [string stringByAppendingString:@"xyz"]; NSLog(@"%@, %p", string, string); } }
网友评论