关于自动释放池@autoreleasepool 面试提经常出的问题
通常面试会出一下类似的代码
-以下代码是否有问题
-如果有问题,如何修改?
看这段代码貌似没啥问题,但是面试官会这样问肯定是有问题的,仔细看看少了点神马,对就是少了一个自动释放池。会有内存问题
关键是第二问怎么修改。
网上有两种方法解决这个问题
第一种是类似以下的代码
这个确实能解决自动释放池的问题,假设largeNumber很大,大到上千万
每一次循环,都会新建一个自动释放的对象,一旦出了作用域,会被添加到自动释放池中
自动释放池会在整个运行循环结束或者被耗尽时,才会向所有对象发送release消息!
于是又出现了第二种方法
至于这两种方法哪种好一点,防再测试下
结果证明第一个效率没有第二个的效率高 ,亲测的