在for循环中, 大量创建相同的临时变量的问题

在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);
          }
      }

你可能感兴趣的:(在for循环中, 大量创建相同的临时变量的问题)