美文网首页
在for循环中, 大量创建相同的临时变量的问题

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

作者: 面糊 | 来源:发表于2016-06-15 19:38 被阅读682次

在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循环中, 大量创建相同的临时变量的问题

    在for循环中, 大量创建相同的临时变量的问题 在for循环中创建临时变量, 由于变量只有离开作用域的时候才会被释...

  • iOS -@autoreleasepool的使用

    什么时候用@autoreleasepool for循环中创建了大量的临时变量得不到释放造成内存崩溃

  • 面试-- 内存管理for (int i = 0; i < 100

    什么时候需要手动创建自动释放池? 1、如果在循环中创建了大量的临时变量的时候需要在循环一开始就手动创建一个自动释放...

  • ES6学习笔记1

    let命令 let命令声明的变量只在所在代码块内生效,适用于for循环中的变量。经典的闭包问题如果用let来作为循...

  • ES6 知识总结

    1、let 声明变量 只在块级作用域起作用(适合在for循环中使用)、无变量提升;不可重复声明相同变量,不可重复声...

  • Day2_试着用Markdown做笔记

    Start from P61 第4章 操作列表 注意:编写for循环中,指定的变量为临时变量 4.3.3 对数字列...

  • @autoreleasepool使用时机

    关注如何使用 1. 官方推荐时机 即以下三种情况 非UI程序 循环中嵌套大量临时对象时 自己创建了一个辅助线程时 ...

  • @autoreleasepool的用法

    今天在一个技术交流群里面看到了释放池的使用场景。算是解除了我的困惑。在for循环里,创建的临时变量并不会随着一次循...

  • Python高级----列表推导式、拷贝、装饰器

    列表推导式 所谓的列表推导式,就是指的轻量级循环创建列表 基本方法(一个for循环) 在循环中加if 三个for循...

  • 一、块级作用域绑定

    var声明及变量提升机制 在预编译阶段js引擎会将上面函数修改成下面这样 块级声明 临时死区(TDZ) //循环中...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/kmjpdttx.html