@autoreleasepool 在 ARC 里还是挺有意义的

for (int j = 0; j < 10000; ++j) {
        @autoreleasepool {
            for (int i = 0; i < 10000; ++i) {
                NSNumber *number = [NSNumber numberWithInt:(i+j)];
                NSLog(@"number = %p", number);
            }
        }
    }
}

如果没有 @autoreleasepool 标签,则整个循环完成后需要释放10000 * 10000个对象,而用了@autoreleasepool标签,每次释放10000个对象,减少CPU利用峰值

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,769评论 30赞 472
  • 29.理解引用计数 Objective-C语言使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数...
    Code_Ninja阅读 1,831评论 1赞 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,437评论 18赞 399
  • 1、[NSObject alloc]在创建完对象后,会让该对象的retainCount+1,后续的init为初始化...
    naiyi阅读 1,704评论 0赞 4
  • 周六周日的菜市场总是摩肩接踵,一路进去卖床单被罩,花卉植物,田七,核桃,生姜,日用百货,竹编筐,会泽石榴,婴幼儿衣...
    一辞阅读 574评论 2赞 1

友情链接更多精彩内容